XamlXmlWriter Sınıf

Tanım

Bir TextWriter metne veya XmlWriter işaretleme serileştirilmiş formuna XAML düğümü akışı yazmak 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 topluca belgelerde bir XamlWriteryönteminin Write yö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şturulamayacağı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'nin XamlXmlWriter çağıranları XAML okuyucusundan ve XAML düğümü akışından gelen geçerli XAML düğümünün türünü bilmelidir. 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 öğesine yapılan açık çağrılar WriteNamespaceile sı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 bildiriliyorsa açık WriteNamespace çağrılar erteleyebilir veya hiçbir şey döndürmeyebilir.

Yazma Yöntemi Özel Durumları

Yöntemler tarafından XamlXmlWriter Write 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çirdiğini gösterir. Bu durumda düğüm yapısı, XAML şemasının veya XAML şeması 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şlemin geçersiz olduğunu düşünür. Bir diğer örnek InvalidOperationException de XAML ad alanı bilgilerinin geçerli düğüm akışı konumuna uygulanan XAML şema bağlamı aracılığıyla kullanılamadığı durumlardır.

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 öğesinin kendi durumunu veya ayarlarını ihlal ettiği XamlXmlWriter belirli durumları gösterebilir. Örneğin, XamlXmlWriterException XAML ad alanı bilgilerini ve serileştirme biçiminin desteklemediği XamlXmlWriter bir konuma yazma denemelerinden veya örnek XamlXmlWriterSettings yasakladığında yinelenen üyeler yazmaktan kaynaklanabilir.

Oluşturucular

XamlXmlWriter(Stream, XamlSchemaContext)

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

XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)

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

XamlXmlWriter(TextWriter, XamlSchemaContext)

Sınıfın XamlXmlWriter yeni bir örneğini bir temelden TextWriter 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(XmlWriter, XamlSchemaContext)

Sınıfın XamlXmlWriter yeni bir örneğini bir temelden XmlWriter 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.

Özellikler

IsDisposed

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

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

İşleme XamlXmlWriter için kullanılan XAML şeması bağlamını alır.

Settings

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

Yöntemler

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 Flush XmlWriter veya TextWriteryöntemini çağırarak 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()

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

Geçerli nesneyi temsil eden dizeyi 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 bir nesne değeri olarak belirtilmemiş olarak yazılmakta olan özelliğin varsayılan veya örtük değeri olduğu durumlar için bir nesnesi yazar.

WriteNamespace(NamespaceDeclaration)

Ad alanı bilgilerini temel alınan XmlWriter veya TextWriteröğesine yazar. Belirli durumlar için özel durum oluşturabilecek; ancak, bunun yerine 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ş gerçekleştirir ve yazıcı uygulaması için uygun 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 bir başlangıç nesnesinin yazılabileceği bir kapsamda değilse veya yazıcı bir başlangıç nesnesi yazabilen bir 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 değer yazmak için geçersizse veya yazıcı bir değerin yazılamadığı bir durumdaysa özel durum oluşturur.

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bkz. Dispose().

(Devralındığı yer: XamlWriter)

Şunlara uygulanır

Ayrıca bkz.