MarkupExtension Klas

Definitie

Biedt een basisklasse voor XAML-extensie-implementaties die kunnen worden ondersteund door .NET XAML-services en andere XAML-lezers en XAML-schrijvers.

public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
Overname
MarkupExtension
Afgeleid

Opmerkingen

Markeringsextensies retourneren objecten aan aanroepers, op basis van de invoer van tekenreekskenmerkwaarden of markeringselementen in XAML. Markeringsextensies retourneren objecten op een geavanceerdere manier dan typeconversieprogramma's alleen kunnen bereiken. Een XAML-objectschrijver roept een typeconversieprogramma aan omdat aan een type of lid een typeconversieprogramma is gekoppeld. Uit het CLR-referentiekader betekent dit dat een type of lid wordt TypeConverterAttribute toegeschreven. Vanuit het perspectief van het XAML-typesysteem betekent dit dat een XAML-type of een XAML-lid een waarde voor TypeConverter de eigenschap heeft. De aanroep van een typeconversieprogramma is gekoppeld aan het type of de eigenschapsdefinitie en wordt altijd aangeroepen door XAML-verwerking voor deze gevallen. Een markeringsextensie is daarentegen meer onder het beheer van gebruikerscode en door de gebruiker geproduceerde markeringen en kan worden toegepast wanneer een toepassingsscenario dit vereist. Een markeringsextensie kan worden aangeroepen en kan worden gebruikt voor het instellen van verschillende typelidwaarden, zolang het retourtype van de markeringsextensie aan die waarde kan worden toegewezen.

Zie voor meer informatie over het maken van een aangepaste markeringsextensie ProvideValue. Zie Overzicht van markeringen voor XAML voor meer informatie over markeringsextensies in het algemeen. Als u voortbouwt op WPF en markeringsextensies voor XAML maakt of gebruikt, vindt u andere relevante informatie in het onderwerp Markup Extensions en WPF XAML.

De ProvideValue methode van elke implementatie van markeringsuitbreidingen kan een IServiceProvider runtime gebruiken die context kan bieden. Dit IServiceProvider wordt vervolgens opgevraagd voor specifieke services die informatie doorgeven, zoals IProvideValueTarget of IXamlTypeResolver. Zie Servicecontexten beschikbaar voor conversieprogramma's en markeringsextensies voor meer informatie over servicecontexten voor een markeringsextensie.

Afgeleide klassen moeten worden toegeschreven MarkupExtensionReturnTypeAttribute om consumenten te informeren over het meest specifieke retourtype dat beschikbaar is in de implementatie van ProvideValue de markeringsuitbreiding.

Constructors

Name Description
MarkupExtension()

Initialiseert een nieuw exemplaar van een klasse die is afgeleid van MarkupExtension.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ProvideValue(IServiceProvider)

Wanneer dit wordt geïmplementeerd in een afgeleide klasse, wordt een object geretourneerd dat is opgegeven als de waarde van de doeleigenschap voor deze markeringsextensie.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook