Aracılığıyla paylaş


XamlObjectWriter Sınıf

Tanım

Kaynak XAML düğümü akışından nesne grafı oluşturur.

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
Devralma
XamlObjectWriter
Uygulamalar

Açıklamalar

Write yöntemleriXamlObjectWriter, yöntemi tarafından WriteNode tanımlanan öğesini XamlWriter kullanması için bir desen XamlObjectWriter uygular. WriteNode mantık, okuyucudaki Write geçerli konumdaki düğüm türüne bağlı olarak yöntemler arasında geçiş yapar.

Kapsam

bir XamlObjectWriter kapsam kavramına sahiptir; yani çıkış XamlObjectWriter nesnesi grafında kavramsal bir başvuru noktası tutar. Belirli bir kapsam için belirli işlemler geçerli veya geçersiz olabilir ya da işlem yapılmamış bir sonuç üretebilir. Örneğin, örnek olarak zaten var olan bir nesnede başlatma için yazma yönergelerini çağırırsanız WriteStartMember , varsayılan uygulama bir özel durum oluşturur.

Bir özelde XamlObjectWriter kapsamı izlemek için olası bir teknik, düğüm eylemlerini bir yığın veya çerçeve sınıfıyla hizalamaktır. Yığın veya çerçeve, nesne grafını yazarken girilen veya çıkılan XamlObjectWriter her nesne modeli derinliği düzeyi için gönderme ve açma adımlarını izleyebilir.

Geri Çağırmalar

Ara ve gelişmiş XamlObjectWriter senaryoları desteklemek için, nesne grafı yazma mekanizması, bir XamlObjectWriter işleme gerçekleştirdiğinde veya belirli eylemleri işlemek üzere olduğunda gerçekleşen geri çağırma giriş noktaları sağlar. Bazı geri aramalar ayarlarda etkinleştirilir ve nesne türüne veya yazılan üyeye özgü değildir; ancak, geri arama bilgileri genellikle bağlam içinde kullanılabilir veya geri arama aracılığıyla gönderilen olay verilerinde yer alır. Aşağıda ilgili geri aramaların listesi yer alıyor:

  • tarafından AfterBeginInitHandler bildirilen geri çağırma, kapsam yeni bir nesneye gittiğinde ve BeginInit oluşturulan her nesne için nesne ömrünün aşamasında çağrılır.

  • tarafından AfterEndInitHandler bildirilen geri çağırma, kapsam yeni bir nesneye gittiğinde ve EndInit oluşturulan her nesne için nesne ömrünün aşamasında çağrılır.

  • tarafından BeforePropertiesHandler bildirilen geri çağırma, kapsam bir nesnede başlatıldığında çağrılır ve bu nesne kapsamına ilk WriteStartMember çağrı yapıldığında ancak henüz işlenmediğinde gerçekleşir.

  • tarafından AfterPropertiesHandler bildirilen geri çağırma, kapsam bir nesnede başlatıldığında çağrılır ve bu nesne kapsamına WriteEndObject çağrı yapıldığında ancak henüz işlenmediğinde gerçekleşir.

  • tarafından XamlSetValueHandler bildirilen geri çağırma çağrıldığında OnSetValue çağrılır.

Sözlük Anahtarları Yazma

varsayılan uygulaması XamlObjectWriter , sözlük içeriği nesne grafiğine eklenmeden önce bir Dictionary<TKey,TValue> öğesinin kısıtlamaları üzerinde tür dönüştürmeyi destekler. Bu şekilde, genel bir sözlük çalışma zamanında nesneler tarafından anahtarlanabilir ve ilgili genel Add ve dizin oluşturucu davranışıyla eşleşebilir. Ancak, temel XamlObjectWriteriçin uygulandığı gibi bu özellik yalnızca temel Dictionary<TKey,TValue> sınıftan nesne grafı oluşturmak için vardır ve türetilmiş sınıflar Dictionary<TKey,TValue>için yoktur.

Atılan için denetimler

XAML yazıcıları, ertelenmiş işlemler için veya geçici olarak atılmış bir XAML yazıcı örneğine karşı çağrının yapıldığı durumlarda kullanılabilir. Çeşitli API'leri XamlObjectWriter bu durumlarda atabilir ObjectDisposedException .

Oluşturucular

XamlObjectWriter(XamlSchemaContext)

tarafından kullanılan XAML şema bağlamını kullanarak sınıfının yeni bir XamlReaderörneğini XamlObjectWriter başlatır.

XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings)

ve ayarları tarafından kullanılan bağlamı kullanarak sınıfın yeni bir XamlReader örneğini XamlObjectWriter başlatır.

Özellikler

IsDisposed

Çağrılıp çağrılmadığını Dispose(Boolean) alır.

(Devralındığı yer: XamlWriter)
Result

Yazılan son nesneyi alır. Genellikle yalnızca düğüm akışı sonunda olduğunda ve nesne grafı tamamlandığında çağrılır.

RootNameScope

INameScope XAML nesne yazıcısının mutlak düğüm kökü için XAML ad kapsamını koruyan hizmeti alır.

SchemaContext

Etkin XAML şema bağlamını alır.

ShouldProvideLineInfo

Bir satır bilgisi hizmetinin değer sağlayıp sağlamayacağını ve bu nedenle uygun olduğunda yöntemini de çağırıp çağırmayacağını SetLineInfo(Int32, Int32) bildiren bir değer alır.

Yöntemler

Clear()

Tüm olası çerçeveleri sıfırlar ve nesne grafını temizler.

Close()

XAML yazıcı nesnesini kapatır.

(Devralındığı yer: XamlWriter)
Dispose(Boolean)

tarafından XamlObjectWriterkullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnAfterBeginInit(Object)

Bu XamlObjectWriteriçin ile XamlObjectWriterSettings ilişkili herhangi bir AfterBeginInitHandler yöntemi çağırır.

OnAfterEndInit(Object)

Bu XamlObjectWriteriçin ile XamlObjectWriterSettings ilişkili herhangi bir AfterEndInitHandler yöntemi çağırır.

OnAfterProperties(Object)

Bu XamlObjectWriteriçin ile XamlObjectWriterSettings ilişkilendirilmiş başvurulan herhangi bir AfterPropertiesHandler yöntemi çağırır.

OnBeforeProperties(Object)

Bu XamlObjectWriteriçin ile XamlObjectWriterSettings ilişkilendirilmiş başvurulan herhangi bir BeforePropertiesHandler yöntemi çağırır.

OnSetValue(Object, XamlMember, Object)

Olay verileri olmadığı truesürece handledXamlSetValueEventArgs, bu yazıcı için ile XamlObjectWriterSettings ilişkili başvurulan herhangi bir XamlSetValueHandler yöntemi çağırır.

SetLineInfo(Int32, Int32)

SetLineInfo(Int32, Int32) Özel durumlar için satır bilgilerini uygular ve sağlar.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
WriteEndMember()

Geçerli üye kapsamını kapatır ve kapatırken üye kapsamının değerini yazabilir. Yeni kapsam, üyenin üst nesne kapsamı olur.

WriteEndObject()

Yazıcıdaki geçerli nesne kapsamını kapatır. Yeni nesne kapsamı üst üye kapsamı olur.

WriteGetObject()

Belirtilen nesne üst özelliğin varsayılan veya örtük bir değeri olduğunda, kavramsal StartObject öğeyi nesne grafiğine yazar. Örtük değer, giriş XAML düğüm kümesinde nesne değeri olarak belirtilmesi yerine XAML şema bağlamından ve yedekleme türü bilgilerinden alınan bilgilerden gelir.

WriteNamespace(NamespaceDeclaration)

Sonraki nesne kapsamına veya üye kapsamına uygulanan bir ad alanı bildirimi tanımlar.

WriteNode(XamlReader)

XAML okuyucusundan (NodeType) düğüm türüne göre geçiş gerçekleştirir ve yazıcı uygulaması için ilgili Write yöntemi çağırır.

(Devralındığı yer: XamlWriter)
WriteStartMember(XamlMember)

Geçerli nesne kapsamına yeni bir üye düğümü yazar ve kapsam yeni bir üye kapsamı olur.

WriteStartObject(XamlType)

Geçerli kapsama bir nesne düğümü yazar ve kapsamı yeni bir nesne kapsamına ayarlar.

WriteValue(Object)

Geçerli üye kapsamına bir değer yazar. Geçerli kapsam bir koleksiyon, sözlük veya dizi nesnesi içindeyse, değer koleksiyona, sözlüğe veya diziye eklenmelidir.

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bkz. Dispose().

(Devralındığı yer: XamlWriter)

Şunlara uygulanır

Ayrıca bkz.