Aracılığıyla paylaş


XamlXmlWriter Sınıf

Tanım

Bir metin veya işaretleme serileştirilmiş formuna XAML düğümü akışı yazmak için bir TextWriter veya XmlWriter destek sınıfı 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

XamlWriter API'sinde farklı türlerde XAML düğümleri yazan çeşitli yöntemler vardır. Bunlar, belgelerde toplu olarak bir XamlWriterWrite yöntemleri olarak adlandırılır. XamlXmlWriter, Write uygulamalarından biri çağrıldığında ne yapacağını belirlemek için birkaç iç durum sınıfı kullanır. Write çağrısı, 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, WriteEndObject çağırırsanız ve geçerli XamlXmlWriter düğüm konumunun durumu bir değerde veya üye içindeyse, bir özel durum oluşturulur. Genellikle, XamlXmlWriter API'sini ç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 Write API'leri çağırmaktan kaçınmalıdır.

XAML Ad Alanları ve XamlXmlWriter

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

Yazma Yöntemi Özel Durumları

XamlXmlWriter Write yöntemleri tarafından oluşan özel durumlar genellikle InvalidOperationException veya XamlXmlWriterException.

InvalidOperationException genellikle 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 iki StartObject düğümü içeren bir XAML düğüm akışı oluşturduysa, ikinci WriteStartObject çağırma girişimi bir InvalidOperationExceptionoluşturur. Tüm XAML yazarları böyle bir işlemi geçersiz olarak değerlendirir. bir InvalidOperationException başka bir örneği, geçerli düğüm akış konumuna uygulanan XAML şema bağlamı aracılığıyla XAML ad alanı bilgilerinin kullanılamadığı durumlardır.

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

Oluşturucular

XamlXmlWriter(Stream, XamlSchemaContext)

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

XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings)

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

XamlXmlWriter(TextWriter, XamlSchemaContext)

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

XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings)

Ayarlar nesnesini kullanarak XamlXmlWriter sınıfının yeni bir örneğini TextWriter temelinde başlatır.

XamlXmlWriter(XmlWriter, XamlSchemaContext)

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

XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings)

Ayarlar nesnesini kullanarak XamlXmlWriter sınıfının yeni bir örneğini XmlWriter temelinde başlatır.

Özellikler

IsDisposed

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

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

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

Settings

Bu 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)

XamlXmlWriter tarafından 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 XmlWriter veya TextWriterFlush yö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 XmlWriter veya TextWriterbir 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 XmlWriter veya TextWriterbir 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)

Ad alanı bilgilerini temel XmlWriter veya TextWriteryazar. 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 okuyucudan (NodeType) düğüm türüne göre geçiş gerçekleştirir ve yazıcı uygulaması için ilgili Write yöntemini çağırır.

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

Temel XmlWriter veya TextWriterbir 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 XmlWriter veya TextWriterbir 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 XmlWriter veya TextWriterbir 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ı

IDisposable.Dispose()

Bkz. Dispose().

(Devralındığı yer: XamlWriter)

Şunlara uygulanır

Ayrıca bkz.