XamlObjectWriter Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- 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ığı |
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 |
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 |
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) |