Share via


XamlObjectWriter Kelas

Definisi

Membuat grafik objek dari aliran simpul XAML sumber.

public ref class XamlObjectWriter : System::Xaml::XamlWriter, System::Xaml::IXamlLineInfoConsumer
public class XamlObjectWriter : System.Xaml.XamlWriter, System.Xaml.IXamlLineInfoConsumer
type XamlObjectWriter = class
    inherit XamlWriter
    interface IXamlLineInfoConsumer
Public Class XamlObjectWriter
Inherits XamlWriter
Implements IXamlLineInfoConsumer
Warisan
XamlObjectWriter
Penerapan

Keterangan

Metode Write mengimplementasikan XamlObjectWriter pola sehingga XamlObjectWriter menggunakan XamlWriter yang ditentukan oleh WriteNode metode . WriteNode sakelar logika antara Write metode, tergantung pada jenis node mana yang berada pada posisi saat ini di pembaca.

Cakupan

memiliki XamlObjectWriter konsep cakupan; yaitu mempertahankan XamlObjectWriter titik referensi konseptual dalam grafik objek outputnya. Untuk cakupan tertentu, operasi tertentu mungkin valid atau tidak valid, atau menghasilkan hasil tanpa operasi. Misalnya, jika Anda memanggil WriteStartMember untuk menulis direktif untuk inisialisasi pada objek yang sudah ada sebagai instans, implementasi default melemparkan pengecualian.

Teknik yang mungkin untuk melacak cakupan dalam kustom XamlObjectWriter adalah menyelaraskan tindakan simpul dengan kelas tumpukan atau bingkai. Tumpukan atau bingkai dapat melacak dorongan dan pop untuk setiap tingkat kedalaman model objek yang dimasukkan atau keluar saat XamlObjectWriter menulis grafik objek.

Panggilan balik

Untuk mendukung skenario menengah dan lanjutan XamlObjectWriter , mekanisme penulisan grafik objek menyediakan titik masuk panggilan balik yang terjadi ketika XamlObjectWriter penerapan atau akan melakukan tindakan tertentu. Beberapa panggilan balik diaktifkan dalam pengaturan dan tidak spesifik untuk jenis objek atau anggota yang ditulis; namun, informasi panggilan balik sering tersedia dalam konteks atau berada dalam data peristiwa yang dikirim melalui panggilan balik. Berikut ini adalah daftar panggilan balik yang relevan:

  • Panggilan balik yang dideklarasikan oleh AfterBeginInitHandler dipanggil ketika cakupan masuk ke objek baru dan pada BeginInit fase masa pakai objek untuk setiap objek yang dibuat.

  • Panggilan balik yang dideklarasikan oleh AfterEndInitHandler dipanggil ketika cakupan masuk ke objek baru dan pada EndInit fase masa pakai objek untuk setiap objek yang dibuat.

  • Panggilan balik yang dideklarasikan oleh BeforePropertiesHandler dipanggil ketika cakupan dimulai dalam objek, dan terjadi ketika panggilan pertama WriteStartMember ke cakupan objek tersebut dilakukan tetapi belum dilakukan.

  • Panggilan balik yang dinyatakan oleh AfterPropertiesHandler dipanggil ketika cakupan dimulai dalam objek, dan terjadi ketika WriteEndObject panggilan ke cakupan objek tersebut dilakukan tetapi belum dilakukan.

  • Panggilan balik yang dinyatakan oleh XamlSetValueHandler dipanggil ketika OnSetValue dipanggil.

Menulis Kunci Kamus

Implementasi XamlObjectWriter default mendukung konversi jenis pada batasan sebelum Dictionary<TKey,TValue> konten kamus ditambahkan ke grafik objek. Dengan cara ini, kamus generik dapat dikunci pada durasi oleh objek dan dapat mencocokkan perilaku generik Add dan pengindeks yang relevan. Namun, seperti yang diimplementasikan untuk dasar XamlObjectWriter, kemampuan ini hanya ada untuk pembuatan grafik objek dari kelas dasar Dictionary<TKey,TValue> dan bukan untuk kelas turunan dari Dictionary<TKey,TValue>.

Pemeriksaan untuk Dibuang

Penulis XAML berpotensi digunakan untuk operasi yang ditangguhkan atau di mana panggilan dilakukan terhadap instans penulis XAML yang telah dibuang sementara. Berbagai API XamlObjectWriter mungkin melemparkan ObjectDisposedException dalam kasus ini.

Konstruktor

XamlObjectWriter(XamlSchemaContext)

Menginisialisasi instans XamlObjectWriter baru kelas menggunakan konteks skema XAML yang digunakan oleh XamlReader.

XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings)

Menginisialisasi instans XamlObjectWriter baru kelas menggunakan konteks yang digunakan oleh XamlReader dan pengaturannya.

Properti

IsDisposed

Mendapat apakah Dispose(Boolean) telah dipanggil.

(Diperoleh dari XamlWriter)
Result

Mendapatkan objek terakhir yang ditulis. Biasanya hanya dipanggil ketika aliran simpul berada di ujungnya dan grafik objek selesai.

RootNameScope

INameScope Mendapatkan layanan yang mempertahankan namescope XAML untuk akar simpul absolut penulis objek XAML.

SchemaContext

Mendapatkan konteks skema XAML aktif.

ShouldProvideLineInfo

Mendapatkan nilai yang melaporkan apakah layanan informasi baris harus memberikan nilai dan oleh karena itu, juga harus memanggil SetLineInfo(Int32, Int32) metode ketika relevan.

Metode

Clear()

Mengatur ulang semua bingkai yang mungkin dan menghapus grafik objek.

Close()

Menutup objek penulis XAML.

(Diperoleh dari XamlWriter)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh XamlObjectWriter, dan secara opsional, merilis sumber daya terkelola.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnAfterBeginInit(Object)

Memanggil metode apa pun AfterBeginInitHandler yang terkait dengan XamlObjectWriterSettings untuk ini XamlObjectWriter.

OnAfterEndInit(Object)

Memanggil metode apa pun AfterEndInitHandler yang terkait dengan XamlObjectWriterSettings untuk ini XamlObjectWriter.

OnAfterProperties(Object)

Memanggil metode yang dirujuk apa pun AfterPropertiesHandler yang terkait dengan XamlObjectWriterSettings untuk ini XamlObjectWriter.

OnBeforeProperties(Object)

Memanggil metode yang dirujuk apa pun BeforePropertiesHandler yang terkait dengan XamlObjectWriterSettings untuk ini XamlObjectWriter.

OnSetValue(Object, XamlMember, Object)

Memanggil metode referensi apa pun XamlSetValueHandler yang terkait dengan XamlObjectWriterSettings untuk penulis ini, selama handled dalam XamlSetValueEventArgs data peristiwa bukan true.

SetLineInfo(Int32, Int32)

SetLineInfo(Int32, Int32) Menerapkan dan menyediakan informasi baris untuk pengecualian.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
WriteEndMember()

Menutup cakupan anggota saat ini, dan dapat menulis nilai cakupan anggota saat ditutup. Cakupan baru menjadi cakupan objek induk anggota.

WriteEndObject()

Menutup cakupan objek saat ini dalam penulis. Cakupan objek baru menjadi cakupan anggota induk.

WriteGetObject()

Menulis konseptual StartObject ke dalam grafik objek ketika objek yang ditentukan adalah nilai default atau implisit dari properti induk. Nilai implisit berasal dari informasi yang diperoleh dari konteks skema XAML dan informasi jenis dukungan, alih-alih ditentukan sebagai nilai objek dalam kumpulan simpul XAML input.

WriteNamespace(NamespaceDeclaration)

Menentukan deklarasi namespace layanan yang berlaku untuk cakupan objek atau cakupan anggota berikutnya.

WriteNode(XamlReader)

Melakukan pengalihan berdasarkan jenis node dari pembaca XAML (NodeType) dan memanggil metode yang relevan Write untuk implementasi penulis.

(Diperoleh dari XamlWriter)
WriteStartMember(XamlMember)

Menulis simpul anggota baru ke dalam cakupan objek saat ini, dan cakupannya menjadi cakupan anggota baru.

WriteStartObject(XamlType)

Menulis simpul objek ke dalam cakupan saat ini, dan mengatur cakupan ke cakupan objek baru.

WriteValue(Object)

Menulis nilai ke cakupan anggota saat ini. Jika cakupan saat ini berada di dalam koleksi, kamus, atau objek array, nilai harus ditambahkan ke koleksi, kamus, atau array.

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

Lihat Dispose().

(Diperoleh dari XamlWriter)

Berlaku untuk

Lihat juga