Bagikan melalui


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 menerapkan XamlObjectWriter pola sehingga XamlObjectWriter menggunakan XamlWriter yang ditentukan oleh WriteNode metode . WriteNode logika beralih di antara Write metode, tergantung pada jenis node mana yang berada pada posisi saat ini di pembaca.

Ruang lingkup

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 dideklarasikan oleh AfterPropertiesHandler dipanggil ketika cakupan dimulai dalam objek, dan terjadi ketika WriteEndObject panggilan ke cakupan objek tersebut dilakukan tetapi belum dilakukan.

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

Menulis Kunci Kamus

Implementasi XamlObjectWriter default mendukung konversi jenis pada batasan Dictionary<TKey,TValue> sebelum konten kamus ditambahkan ke grafik objek. Dengan cara ini, kamus generik dapat dikunci pada waktu proses berdasarkan 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 di sementara. Berbagai API XamlObjectWriter mungkin melemparkan ObjectDisposedException dalam kasus ini.

Konstruktor

Nama Deskripsi
XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings)

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

XamlObjectWriter(XamlSchemaContext)

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

Properti

Nama Deskripsi
IsDisposed

Mendapat apakah Dispose(Boolean) telah dipanggil.

(Diperoleh dari XamlWriter)
Result

Mendapatkan objek terakhir yang ditulis. Biasanya hanya dipanggil ketika aliran simpul berada di akhir 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

Nama Deskripsi
Clear()

Mengatur ulang semua bingkai yang mungkin dan menghapus grafik objek.

Close()

Menutup objek penulis XAML.

(Diperoleh dari XamlWriter)
Dispose(Boolean)

Merilis sumber daya yang tidak dikelola 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 Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(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 AfterPropertiesHandler metode yang dirujuk yang terkait dengan XamlObjectWriterSettings untuk ini XamlObjectWriter.

OnBeforeProperties(Object)

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

OnSetValue(Object, XamlMember, Object)

Memanggil metode referensi apa pun XamlSetValueHandler yang terkait dengan XamlObjectWriterSettings 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 di 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 backing, alih-alih ditentukan sebagai nilai objek dalam set simpul XAML input.

WriteNamespace(NamespaceDeclaration)

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

WriteNode(XamlReader)

Melakukan peralihan 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

Nama Deskripsi
IDisposable.Dispose()

Lihat Dispose().

(Diperoleh dari XamlWriter)

Berlaku untuk

Lihat juga