XamlXmlWriter Sınıf

Tanım

TextWriter XAML düğüm akışını bir metne veya XmlWriter serileştirilmiş biçime işaretlemek için veya destek sınıfını kullanır.

public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
    inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
Devralma
XamlXmlWriter

Açıklamalar

Bu sınıf genellikle serileştirme senaryolarında kullanılır.

XamlXmlWriter Kullanma

API'nin XamlWriter farklı türlerde XAML düğümleri yazan çeşitli yöntemleri vardır. Bunlar, belgelerde toplu olarak yönteminin WriteXamlWriteryöntemleri olarak adlandırılır. XamlXmlWriter , uygulamalarından Write biri çağrıldığında ne yapacağını belirlemek için birkaç iç durum sınıfı kullanır. Çağrı Write , istenen öğenin, özniteliğin veya değerin yazılıp yazılamayacağını veya bir özel durum oluşturulup oluşturulmayacağını belirlemek için durumları kullanır. Örneğin, çağrısı WriteEndObject yaparsanız ve geçerli düğüm konumunun XamlXmlWriter durumu bir değerde veya üye içindeyse, bir özel durum oluşturulur. Genellikle, API'yi XamlXmlWriter çağıranların XAML okuyucusu ve XAML düğümü akışından gelen geçerli XAML düğümünün türünü bilmesi gerekir. Bu bilgiye bağlı olarak, arayanlar geçerli düğüm türüyle ilgili olmayan API'leri çağırmaktan Write kaçınmalıdır.

XAML Ad Alanları ve XamlXmlWriter

XAML ad alanı yazma davranışı XamlXmlWriter karmaşıktır ve açık çağrıları ile WriteNamespacesınırlı değildir. Bunun yerine, gibi WriteStartObjectdiğer Write çağrılar, ad alanı bildiriminin düğüm yapısının belirli noktalarında yazılması gerektirebilir. XAML yazıcısı kendi mantığıyla bir ön ek oluşturur veya tercih edilen ön eki belirlemek için hizmetten INamespacePrefixLookup alınan bilgileri kullanır. Ayrıca, XAML ad alanı bildirimi zaten geçerliyse ve başka bir yerde bildirilirse, açık WriteNamespace çağrılar erteleyebilir veya hiçbir şey döndürmeyebilir.

Yazma Yöntemi Özel Durumları

Yöntemler tarafından XamlXmlWriterWrite oluşan özel durumlar genellikle InvalidOperationException veya XamlXmlWriterExceptionşeklindedir.

genellikle InvalidOperationException bir XAML okuyucusunun XAML düğüm akışına geçersiz bir düğüm yapısı geçirildiğini gösterir. Bu durumda düğüm yapısı, XAML şemasının veya XAML şema bağlamının doğrulanmasıyla ilgili olmayan nedenlerle geçersizdir. Bunun yerine, düğüm akışı temel biçiminde geçersizdir. Örneğin, hatalı bir XAML okuyucu uygulaması ardışık StartObject iki düğüm içeren bir XAML düğüm akışı oluşturduysa, ikincisini WriteStartObject çağırma girişimi bir InvalidOperationExceptionoluşturur. Tüm XAML yazarları böyle bir işlemi geçersiz olarak değerlendirir. XAML ad alanı bilgilerinin geçerli düğüm akış konumuna uygulanan XAML şema bağlamı aracılığıyla kullanılamadığı bir InvalidOperationException başka örnektir.

A XamlXmlWriterException , bu belirli XAML yazıcı uygulamasının amaçlanan işlevselliğine göre bir özel durum oluşturmayı seçtiği bir özel durumu gösterir. , XamlXmlWriterException bir XamlXmlWriter öğesinin kendi durumunu veya ayarlarını ihlal ettiği belirli durumları gösterebilir. Örneğin, XamlXmlWriterException XAML ad alanı bilgilerini ve serileştirme biçiminin desteklemediği XamlXmlWriter bir konuma yazma girişimlerinden veya örnek XamlXmlWriterSettings bunu yasakladığında yinelenen üyeler yazma girişimlerinden kaynaklanabilir.

Oluşturucular

Name Description
XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)

Yazar ayarları nesnesi kullanarak bir akıştan sınıfının yeni bir örneğini XamlXmlWriter başlatır.

XamlXmlWriter(Stream, XamlSchemaContext)

Sınıfının yeni bir örneğini XamlXmlWriter bir akıştan başlatır.

XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings)

Bir ayarlar nesnesi kullanarak sınıfın XamlXmlWriter yeni bir TextWriter örneğini temelden başlatır.

XamlXmlWriter(TextWriter, XamlSchemaContext)

Sınıfın XamlXmlWriter yeni bir örneğini temelden TextWriter başlatır.

XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings)

Bir ayarlar nesnesi kullanarak sınıfın XamlXmlWriter yeni bir XmlWriter örneğini temelden başlatır.

XamlXmlWriter(XmlWriter, XamlSchemaContext)

Sınıfın XamlXmlWriter yeni bir örneğini temelden XmlWriter başlatır.

Özellikler

Name Description
IsDisposed

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

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

bunun XamlXmlWriter işleme için kullandığı XAML şema bağlamını alır.

Settings

Bunun XamlXmlWriter XAML işleme için kullandığı yazıcı ayarlarını alır.

Yöntemler

Name Description
Close()

XAML yazıcı nesnesini kapatır.

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

tarafından XamlXmlWriter kullanı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)
Flush()

Temel alınan FlushXmlWriter veya TextWriteryöntemini çağırır ve arabellekte bulunan her şeyi yazar ve yazıcıyı kapatır.

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)
ToString()

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

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

Temel alınan XmlWriter veya TextWriteröğesine bir XAML son üye düğümü yazar. XAML düğüm akışının geçerli konumu bir üye içinde değilse veya iç yazıcı durumu son üyeye yazmayı desteklemiyorsa bir özel durum oluşturur.

WriteEndObject()

Temel alınan XmlWriter veya TextWriteröğesine bir XAML uç nesne düğümü yazar. İşlenen XAML düğüm akışının geçerli konumu bir bitiş nesnesi yazma ile uyumsuzsa bir özel durum oluşturur.

WriteGetObject()

Belirtilen nesnenin, giriş XAML düğüm kümesinde nesne değeri olarak belirtilmemiş olarak yazılmakta olan özelliğin varsayılan veya örtük değeri olduğu durumlar için bir nesne yazar.

WriteNamespace(NamespaceDeclaration)

Temel alınan XmlWriter veya TextWriteröğesine ad alanı bilgileri yazar. Belirli durumlar için bir özel durum oluşturabilir; ancak, yazar ve işlenen XAML düğüm akışı bir XAML ad alanı bildiriminin eklenebileceği bir konuma ulaşana kadar ad alanı bilgilerini yazmayı erteleyebilir.

WriteNode(XamlReader)

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

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

Temel alınan XmlWriter veya TextWriteröğesine bir XAML başlangıç üyesi düğümü yazar. XAML düğüm akışının geçerli konumu başka bir üye içindeyse veya başlangıç üyesinin yazılabileceği bir kapsam veya yazıcı durumunda değilse bir özel durum oluşturur.

WriteStartObject(XamlType)

Temel alınan XmlWriter veya TextWriteröğesine bir XAML başlangıç nesnesi düğümü yazar. XAML düğüm akışının geçerli konumu başlangıç nesnesinin yazılabileceği bir kapsamda değilse veya yazıcı bir başlangıç nesnesi yazabilecek durumda değilse bir özel durum oluşturur.

WriteValue(Object)

Temel alınan XmlWriter veya TextWriteröğesine bir XAML değer düğümü yazar. XAML düğümü akışının geçerli konumu bir değer yazmak için geçersizse veya yazıcı bir değerin yazılamadığı bir durumdaysa bir özel durum oluşturur.

Belirtik Arabirim Kullanımları

Name Description
IDisposable.Dispose()

Bkz. Dispose().

(Devralındığı yer: XamlWriter)

Şunlara uygulanır

Ayrıca bkz.