Aracılığıyla paylaş


MarkupExtension Sınıf

Tanım

.NET XAML Hizmetleri ve diğer XAML okuyucuları ve XAML yazıcıları tarafından destekleyebileceğiniz XAML işaretleme uzantısı uygulamaları için temel bir sınıf sağlar.

public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
Devralma
MarkupExtension
Türetilmiş

Açıklamalar

İşaretlemeyi uzantıları, XAML'deki dize öznitelik değerlerinin veya işaretleme öğelerinin girişine bağlı olarak çağıranlara nesneleri döndürür. İşaretlemeyi uzantıları nesneleri yalnızca tür dönüştürücülerinin başaramaya kıyasla daha karmaşık bir şekilde döndürür. Bir tür veya üyenin kendisiyle ilişkilendirilmiş bir tür dönüştürücü uygulaması olduğundan, XAML nesne yazıcısı bir tür dönüştürücüsü çağırır. Başvurunun CLR çerçevesinden bir tür veya üyenin özniteliklendirildiğini TypeConverterAttribute gösterir. XAML türü sistem perspektifinden bakıldığında bu, bir XAML türünün veya XAML üyesinin özelliği için bir değere TypeConverter sahip olduğu anlamına gelir. Tür dönüştürücüsünün çağrılması tür veya özellik tanımına bağlıdır ve bu durumlar için her zaman XAML işleme tarafından çağrılır. Buna karşılık, işaretleme uzantısı daha çok kullanıcı kodunun ve kullanıcı tarafından üretilen işaretlemenin denetimi altındadır ve bir uygulama senaryosu bunu istediğinde uygulanabilir. bir işaretleme uzantısı çağrılabilir ve işaretleme uzantısının dönüş türü bu değere atanabilir olduğu sürece farklı tür üyesi değerleri ayarlamak için kullanılabilir.

Özel işaretleme uzantısı oluşturma hakkında bilgi için bkz ProvideValue. . Genel olarak işaretleme uzantıları hakkında daha fazla bilgi için bkz. XAML için Biçimlendirme Uzantılarına Genel Bakış. WPF üzerinde oluşturup XAML için işaretleme uzantıları kullanıyorsanız veya oluşturuyorsanız, diğer ilgili bilgiler biçimlendirme uzantıları ve WPF XAML konu başlığında bulunabilir.

ProvideValue Her işaretleme uzantısı uygulamasının yöntemi, çalışma zamanında bağlam sağlayabilen bir IServiceProvider kullanabilir. Bu IServiceProvider daha sonra veya IXamlTypeResolvergibi IProvideValueTarget bilgileri geçiren belirli hizmetler için sorgulanır. Bir işaretleme uzantısının hizmet bağlamları hakkında daha fazla bilgi için bkz. Tür Dönüştürücüleri ve İşaretlemeyi Uzantıları için Kullanılabilir Hizmet Bağlamları.

Tüketicileri işaretleme uzantısının ProvideValue uygulamasında bulunan en belirli dönüş türü hakkında bilgilendirmek için türetilmiş sınıflar ile MarkupExtensionReturnTypeAttribute ilişkilendirilmelidir.

Oluşturucular

MarkupExtension()

öğesinden MarkupExtensiontüretilen bir sınıfın yeni bir örneğini başlatır.

Yöntemler

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)
ProvideValue(IServiceProvider)

Türetilmiş bir sınıfta uygulandığında, bu işaretleme uzantısı için hedef özelliğin değeri olarak sağlanan bir nesnesi döndürür.

ToString()

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

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.