Share via


XamlReader.Load(String) Metode

Definisi

Mengurai fragmen XAML yang terbentuk dengan baik dan membuat pohon objek yang sesuai, dan mengembalikan akar pohon objek.

public:
 static Platform::Object ^ Load(Platform::String ^ xaml);
 static IInspectable Load(winrt::hstring const& xaml);
public static object Load(string xaml);
function load(xaml)
Public Shared Function Load (xaml As String) As Object

Parameter

xaml
String

Platform::String

winrt::hstring

String yang berisi fragmen XAML yang valid.

Mengembalikan

Object

Platform::Object

IInspectable

Objek akar dari pohon objek yang dibuat.

Contoh

Contoh ini membuat satu Elips dari string XAML, memanggil Muat. Kemudian menghubungkan Ellipse yang dibuat tetapi terputus ke koleksi Anak dari elemen yang sudah ada di aplikasi UWP yang sedang berjalan. Akhirnya contoh mengakses Elips lagi di lokasi tempat Elips ditambahkan dengan menggunakan kueri, dan mengubah salah satu propertinya.

string xaml =
"<Ellipse Name=\"EllipseAdded\" Width=\"300.5\" Height=\"200\" 
Fill=\"Red\" xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"/>";
object ellipse = XamlReader.Load(xaml);
//stackPanelRoot is the visual root of a Page in existing XAML markup already loaded by the appmodel
stackPanelRoot.Children.Add(ellipse as UIElement);
//walk the tree using XLinq result and cast back to a XAML type to set a property on it at runtime
var result = (from item in stackPanelRoot.Children
  where (item is FrameworkElement) 
  && ((FrameworkElement) item).Name == "EllipseAdded"
  select item as FrameworkElement).FirstOrDefault();
((Ellipse) result).Fill = new SolidColorBrush(Colors.Yellow);

Keterangan

XamlReader menyediakan perilaku konstruksi objek yang menyejajarkan bagaimana XAML diurai oleh parser XAML Windows Runtime dan penggunaan XAML untuk mendefinisikan UI aplikasi UWP. Mengurai input XAML dengan XamlReader.Load menghasilkan pohon objek run-time objek Windows Runtime. Pohon objek menyediakan cara untuk memprogram terhadap objek-objek tersebut pada waktu proses, dengan berjalan melalui bagian-bagian pohon lengkap.

Ada beberapa konsep yang penting untuk dipahami, saat Anda membuat objek dari XAML dengan metode XamlReader.Load:

  • String konten XAML harus menentukan satu elemen akar.
  • String konten XAML harus berupa XML yang terbentuk dengan baik, serta XAML yang valid.
  • Konten XAML harus menentukan xmln default. Biasanya ini adalah kosakata XAML Windows Runtime, seperti yang diidentifikasi oleh http://schemas.microsoft.com/winfx/2006/xaml/presentation.
  • Setiap rakitan kustom yang dirujuk dalam pemetaan namespace XAML harus sudah tersedia untuk aplikasi.
  • XAML tidak boleh mencoba menentukan atribut x:Class, atau menyertakan atribut yang ditentukan XAML untuk penanganan aktivitas.
  • Anda tidak dapat menggunakan FindName di namescope XAML umum untuk menemukan objek runtime yang ditambahkan, tetapi Anda dapat mencari dalam namescope XAML tertentu dari objek yang dibuat. Untuk informasi selengkapnya, lihat Namescope XAML.
  • Logika pembuatan objek tidak dapat mengintegrasikan XAML yang dimuat dengan kelas code-behind pada durasi. Jika Anda ingin menambahkan penanganan aktivitas, Anda harus melakukannya dalam kode dengan mereferensikan objek yang diperoleh dari dalam struktur pohon objek dari hasil Muat, dan menggunakan sintaks khusus bahasa untuk melampirkan penangan (seperti +=).
  • Harus ada konten XAML; Anda tidak dapat mengganti seluruh pohon konten. Anda setidaknya harus mempertahankan elemen akar asli sehingga implikasi model aplikasi dari halaman XAML yang dimuat tetap aktif.
  • Objek yang dibuat dari Load hanya dapat ditetapkan ke satu lokasi di pohon objek utama. Jika Anda ingin menambahkan objek yang dibuat dari XAML yang identik ke area pohon objek utama aplikasi yang berbeda, Anda harus mengurai XAML beberapa kali menggunakan string input yang sama, menggunakan tujuan yang berbeda untuk nilai pengembalian.
  • Pohon objek utama yang tersisa harus mendukung properti yang sesuai untuk diatur.

Berlaku untuk

Lihat juga