Bagikan melalui


XamlReader.LoadAsync Metode

Definisi

Membaca markup XAML dan mengembalikan objek yang sesuai dengan akar markup yang ditentukan.

Overload

LoadAsync(Stream, ParserContext, Boolean)
LoadAsync(XmlReader, Boolean)
LoadAsync(Stream, ParserContext)

Membaca input XAML dalam yang ditentukan Stream dan mengembalikan akar pohon objek yang sesuai.

LoadAsync(Stream)

Membaca input XAML dalam yang ditentukan Stream dan mengembalikan akar pohon objek yang sesuai.

LoadAsync(XmlReader)

Membaca input XAML dalam yang ditentukan XmlReader dan mengembalikan akar pohon objek yang sesuai.

LoadAsync(Stream, Boolean)

LoadAsync(Stream, ParserContext, Boolean)

public:
 System::Object ^ LoadAsync(System::IO::Stream ^ stream, System::Windows::Markup::ParserContext ^ parserContext, bool useRestrictiveXamlReader);
public object LoadAsync (System.IO.Stream stream, System.Windows.Markup.ParserContext parserContext, bool useRestrictiveXamlReader);
member this.LoadAsync : System.IO.Stream * System.Windows.Markup.ParserContext * bool -> obj
Public Function LoadAsync (stream As Stream, parserContext As ParserContext, useRestrictiveXamlReader As Boolean) As Object

Parameter

stream
Stream
parserContext
ParserContext
useRestrictiveXamlReader
Boolean

Mengembalikan

Keterangan

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Load(Stream, ParserContext, Boolean).

Berlaku untuk

LoadAsync(XmlReader, Boolean)

public:
 System::Object ^ LoadAsync(System::Xml::XmlReader ^ reader, bool useRestrictiveXamlReader);
public object LoadAsync (System.Xml.XmlReader reader, bool useRestrictiveXamlReader);
member this.LoadAsync : System.Xml.XmlReader * bool -> obj
Public Function LoadAsync (reader As XmlReader, useRestrictiveXamlReader As Boolean) As Object

Parameter

reader
XmlReader
useRestrictiveXamlReader
Boolean

Mengembalikan

Keterangan

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Load(XmlReader, Boolean).

Berlaku untuk

LoadAsync(Stream, ParserContext)

Membaca input XAML dalam yang ditentukan Stream dan mengembalikan akar pohon objek yang sesuai.

public:
 System::Object ^ LoadAsync(System::IO::Stream ^ stream, System::Windows::Markup::ParserContext ^ parserContext);
public object LoadAsync (System.IO.Stream stream, System.Windows.Markup.ParserContext parserContext);
member this.LoadAsync : System.IO.Stream * System.Windows.Markup.ParserContext -> obj
Public Function LoadAsync (stream As Stream, parserContext As ParserContext) As Object

Parameter

stream
Stream

Aliran yang berisi input XAML untuk dimuat.

parserContext
ParserContext

Informasi konteks yang digunakan oleh pengurai.

Mengembalikan

Akar pohon objek yang dibuat.

Pengecualian

streamadalah null.

Beberapa operasi beban dilakukan secara bersamaan dengan yang sama XamlReader.

Keterangan

Operasi beban XAML asinkron awalnya akan mengembalikan objek yang murni objek akar. Secara asinkron, penguraian XAML kemudian berlanjut, dan objek anak apa pun diisi di bawah akar. Hal ini berbeda dengan perilaku pemrosesan WPF XAML yang khas dan interaksinya dengan konsep WPF masa pakai objek. Dalam interaksi umum (non-asinkron), semua properti objek termasuk semua koleksi anak diisi sebelum mengembalikan elemen dan melaporkannya sebagai dimuat. Perilaku itu sama dengan metodologi bottom-up untuk membuat pohon di mana objek akar adalah objek terakhir yang tersedia.

Anda biasanya akan menetapkan objek yang dikembalikan ke beberapa lokasi di pohon objek aplikasi Anda, dengan pengetahuan bahwa konten mungkin masih terisi dan dapat menyebabkan pembaruan tata letak inkremental jika seluruh konten diekspos sebagai bagian dari UI. Untuk alasan ini, biasanya mengisolasi atau memvirtualisasikan objek yang dimuat secara asinkron dari XAML, dan menggunakan logika khusus aplikasi atau status aplikasi untuk memberi tahu kapan ditangani LoadCompleted .

Agar LoadAsync dapat memuat markup secara asinkron, elemen akar dalam markup XAML harus berisi atribut dan nilai x:SynchronousMode="Async". Nilai diperlakukan sebagai peka huruf besar/kecil. Jika akar markup XAML tidak berisi x:SynchronousMode="Async", tidak ada pengecualian yang dilemparkan, dan panggilan diproses sebagai beban sinkron (lihat Load(Stream, ParserContext)).

Hanya satu operasi beban asinkron per instans kelas yang XamlReader dapat dilakukan pada satu waktu. Jika lebih dari satu operasi asinkron dicoba pada instans yang sama dari XamlReader kelas yang InvalidOperationException dilemparkan.

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Load(Stream, ParserContext).

Lihat juga

Berlaku untuk

LoadAsync(Stream)

Membaca input XAML dalam yang ditentukan Stream dan mengembalikan akar pohon objek yang sesuai.

public:
 System::Object ^ LoadAsync(System::IO::Stream ^ stream);
public object LoadAsync (System.IO.Stream stream);
member this.LoadAsync : System.IO.Stream -> obj
Public Function LoadAsync (stream As Stream) As Object

Parameter

stream
Stream

Aliran yang berisi input XAML untuk dimuat.

Mengembalikan

Objek yang merupakan akar pohon objek yang dibuat.

Pengecualian

streamadalah null.

Beberapa operasi beban tertunda bersamaan dengan yang sama XamlReader.

Keterangan

Operasi beban XAML asinkron awalnya akan mengembalikan objek yang murni objek akar. Secara asinkron, penguraian XAML kemudian berlanjut, dan objek anak apa pun diisi di bawah akar. Hal ini berbeda dengan perilaku pemrosesan WPF XAML yang khas dan interaksinya dengan konsep WPF masa pakai objek. Dalam interaksi umum (non-asinkron), semua properti objek termasuk semua koleksi anak diisi sebelum mengembalikan elemen dan melaporkannya sebagai dimuat. Perilaku itu sama dengan metodologi bottom-up untuk membuat pohon di mana objek akar adalah objek terakhir yang tersedia.

Anda biasanya akan menetapkan objek yang dikembalikan ke beberapa lokasi di pohon objek aplikasi WPF Anda, dengan pengetahuan bahwa konten mungkin masih terisi dan dapat menyebabkan pembaruan tata letak bertahap jika seluruh konten diekspos sebagai bagian dari UI. Untuk alasan ini, biasanya mengisolasi atau memvirtualisasikan objek yang dimuat secara asinkron dari XAML, dan menggunakan logika khusus aplikasi atau status aplikasi untuk memberi tahu kapan ditangani LoadCompleted .

Untuk LoadAsync memuat input XAML secara asinkron, elemen akar dalam input XAML harus berisi atribut dan nilai x:SynchronousMode="Async". Nilai diperlakukan sebagai peka huruf besar/kecil. Jika akar input XAML tidak berisi x:SynchronousMode="Async", tidak ada pengecualian yang dilemparkan, dan panggilan diproses sebagai beban sinkron (lihat Load(Stream)).

Hanya satu operasi beban asinkron per instans kelas yang XamlReader dapat dilakukan pada satu waktu. Jika lebih dari satu operasi asinkron dicoba pada instans yang sama dari XamlReader kelas yang InvalidOperationException dilemparkan.

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Load(Stream).

Lihat juga

Berlaku untuk

LoadAsync(XmlReader)

Membaca input XAML dalam yang ditentukan XmlReader dan mengembalikan akar pohon objek yang sesuai.

public:
 System::Object ^ LoadAsync(System::Xml::XmlReader ^ reader);
public object LoadAsync (System.Xml.XmlReader reader);
member this.LoadAsync : System.Xml.XmlReader -> obj
Public Function LoadAsync (reader As XmlReader) As Object

Parameter

reader
XmlReader

Yang sudah ada XmlReader yang telah memuat/membaca input XAML.

Mengembalikan

Akar pohon objek yang dibuat.

Pengecualian

readeradalah null.

Beberapa operasi beban dilakukan secara bersamaan dengan yang sama XamlReader.

Keterangan

Operasi beban XAML asinkron awalnya akan mengembalikan objek yang murni objek akar. Secara asinkron, penguraian XAML kemudian berlanjut, dan objek anak apa pun diisi di bawah akar. Hal ini berbeda dengan perilaku pemrosesan WPF XAML yang khas dan interaksinya dengan konsep WPF masa pakai objek. Dalam interaksi umum (non-asinkron), semua properti objek termasuk semua koleksi anak diisi sebelum mengembalikan elemen dan melaporkannya sebagai dimuat. Perilaku itu sama dengan metodologi bottom-up untuk membuat pohon di mana objek akar adalah objek terakhir yang tersedia.

Anda biasanya akan menetapkan objek yang dikembalikan dari LoadAsync ke beberapa lokasi di pohon objek aplikasi Anda, dengan pengetahuan bahwa konten mungkin masih terisi dan dapat menyebabkan pembaruan tata letak inkremental jika seluruh konten diekspos sebagai bagian dari UI. Untuk alasan ini, biasanya mengisolasi atau memvirtualisasikan objek yang dimuat secara asinkron dari XAML, dan menggunakan logika khusus aplikasi atau status aplikasi untuk memberi tahu kapan ditangani LoadCompleted .

Untuk LoadAsync memuat input XAML secara asinkron, elemen akar dalam markup XAML harus berisi atribut dan nilai x:SynchronousMode="Async". Nilai diperlakukan sebagai peka huruf besar/kecil. Jika akar markup XAML tidak berisi x:SynchronousMode="Async", tidak ada pengecualian yang dilemparkan, dan panggilan malah diproses sebagai beban sinkron (lihat Load(XmlReader)).

Hanya satu operasi beban asinkron per instans kelas yang XamlReader dapat dilakukan pada satu waktu. Jika lebih dari satu operasi asinkron dicoba pada instans yang sama dari XamlReader kelas yang InvalidOperationException dilemparkan.

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Load(XmlReader).

Lihat juga

Berlaku untuk

LoadAsync(Stream, Boolean)

public:
 System::Object ^ LoadAsync(System::IO::Stream ^ stream, bool useRestrictiveXamlReader);
public object LoadAsync (System.IO.Stream stream, bool useRestrictiveXamlReader);
member this.LoadAsync : System.IO.Stream * bool -> obj
Public Function LoadAsync (stream As Stream, useRestrictiveXamlReader As Boolean) As Object

Parameter

stream
Stream
useRestrictiveXamlReader
Boolean

Mengembalikan

Keterangan

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Load(Stream, Boolean).

Berlaku untuk