MarkupExtension Klass

Definition

Tillhandahåller en basklass för XAML-tilläggsimplementeringar som kan stödjas av .NET XAML Services och andra XAML-läsare och XAML-skrivare.

public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
Arv
MarkupExtension
Härledda

Kommentarer

Markup-tillägg returnerar objekt till anropare, baserat på indata från strängattributvärden eller markeringselement i XAML. Markup-tillägg returnerar objekt på ett mer avancerat sätt än vad enbart typkonverterare kan åstadkomma. En XAML-objektskrivare anropar en typkonverterare eftersom en typ eller medlem har en typkonverterareimplementering associerad med den. Från CLR-referensramen innebär det att en typ eller medlem tillskrivs TypeConverterAttribute . Från systemperspektivet för XAML-typ innebär det att en XAML-typ eller en XAML-medlem har ett värde för sin TypeConverter egenskap. Anropet av en typkonverterare är kopplat till typen eller egenskapsdefinitionen och anropas alltid av XAML-bearbetning för dessa fall. Ett markeringstillägg styrs däremot mer av användarkod och användarproducerad markering och kan tillämpas när ett programscenario kräver det. Ett markeringstillägg kan anropas och kan användas för att ange olika typmedlemsvärden, så länge markeringstilläggets returtyp kan tilldelas till det värdet.

Information om hur du skapar ett anpassat tillägg för markering finns i ProvideValue. Mer information om markeringstillägg i allmänhet finns i Markeringstillägg för XAML-översikt. Om du bygger på WPF och använder eller skapar tillägg för XAML kan du hitta annan relevant information i avsnittet Markup-tillägg och WPF XAML.

Metoden ProvideValue för varje implementering av markup-tillägg kan använda en IServiceProvider vid körning som kan ge kontext. Detta IServiceProvider efterfrågas sedan för specifika tjänster som skickar information, till exempel IProvideValueTarget eller IXamlTypeResolver. Mer information om tjänstkontexter för ett tillägg för markering finns i Tjänstkontexter som är tillgängliga för typkonverterare och markeringstillägg.

Härledda klasser bör hänföras MarkupExtensionReturnTypeAttribute till för att informera konsumenterna om den mest specifika returtyp som är tillgänglig från påläggstilläggets ProvideValue implementering.

Konstruktorer

Name Description
MarkupExtension()

Initierar en ny instans av en klass som härletts från MarkupExtension.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ProvideValue(IServiceProvider)

När det implementeras i en härledd klass returnerar ett objekt som anges som värdet för målegenskapen för det här markeringstillägget.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även