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)

C#
public object LoadAsync (System.IO.Stream stream, System.Windows.Markup.ParserContext parserContext, bool useRestrictiveXamlReader);

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

Windows Desktop 9 dan versi lainnya
Produk Versi
Windows Desktop 5, 6, 7, 8, 9

LoadAsync(XmlReader, Boolean)

C#
public object LoadAsync (System.Xml.XmlReader reader, bool useRestrictiveXamlReader);

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

Windows Desktop 9 dan versi lainnya
Produk Versi
Windows Desktop 5, 6, 7, 8, 9

LoadAsync(Stream, ParserContext)

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

C#
public object LoadAsync (System.IO.Stream stream, System.Windows.Markup.ParserContext parserContext);

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

.NET Framework 4.8.1 dan versi lainnya
Produk Versi
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

LoadAsync(Stream)

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

C#
public object LoadAsync (System.IO.Stream stream);

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

.NET Framework 4.8.1 dan versi lainnya
Produk Versi
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

LoadAsync(XmlReader)

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

C#
public object LoadAsync (System.Xml.XmlReader reader);

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

.NET Framework 4.8.1 dan versi lainnya
Produk Versi
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

LoadAsync(Stream, Boolean)

C#
public object LoadAsync (System.IO.Stream stream, bool useRestrictiveXamlReader);

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

Windows Desktop 9 dan versi lainnya
Produk Versi
Windows Desktop 5, 6, 7, 8, 9