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 bir 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.
Scope
bir XamlObjectWriter kapsam kavramına sahiptir; yani XamlObjectWriter çıkış 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, zaten örnek olarak 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önderim ve pop değerlerini 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 üzereyken 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 bulunur. Aşağıda ilgili geri çağırmaları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ü 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ü 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 çağrı yapıldığında ancak henüz işlenmediğinde WriteEndObject 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 nesneler tarafından çalışma zamanında 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ılanlar için denetimler
XAML yazıcıları potansiyel olarak ertelenen 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ılır. Çeşitli API'leri XamlObjectWriter bu durumlarda atabilir ObjectDisposedException .
Oluşturucular
| Name | Description |
|---|---|
| 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. |
| 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. |
Özellikler
| Name | Description |
|---|---|
| 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 |
XAML nesne yazıcısının INameScope 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ğlaması gerekip gerekmediğini bildiren bir değer alır ve bu nedenle uygun olduğunda yöntemini de çağırması SetLineInfo(Int32, Int32) gerekir. |
Yöntemler
| Name | Description |
|---|---|
| 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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| OnAfterBeginInit(Object) |
Bu XamlObjectWriteriçin ile XamlObjectWriterSettings ilişkilendirilmiş herhangi bir AfterBeginInitHandler yöntemi çağırır. |
| OnAfterEndInit(Object) |
Bu XamlObjectWriteriçin ile XamlObjectWriterSettings ilişkilendirilmiş herhangi bir AfterEndInitHandler yöntemi çağırır. |
| OnAfterProperties(Object) |
Bu XamlObjectWriteriçin ile XamlObjectWriterSettings ilişkili başvurulan herhangi bir AfterPropertiesHandler yöntemi çağırır. |
| OnBeforeProperties(Object) |
Bu XamlObjectWriteriçin ile XamlObjectWriterSettings ilişkili 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 bir dize döndürür. (Devralındığı yer: Object) |
| WriteEndMember() |
Geçerli üye kapsamını kapatır ve kapatılma sırasında ü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 nesne grafiğine 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ş yapar 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ına dönüşür. |
| 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ı
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Bkz. Dispose(). (Devralındığı yer: XamlWriter) |