MarkupExtension Klasa

Definicja

Udostępnia klasę bazową dla implementacji rozszerzeń znaczników XAML, które mogą być obsługiwane przez usługi XAML platformy .NET i innych czytników XAML i składników zapisywania XAML.

public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
Dziedziczenie
MarkupExtension
Pochodne

Uwagi

Rozszerzenia znaczników zwracają obiekty wywołujące na podstawie danych wejściowych wartości atrybutów ciągu lub elementów znaczników w języku XAML. Rozszerzenia znaczników zwracają obiekty w bardziej zaawansowany sposób niż same konwertery typów. Składnik zapisywania obiektów XAML wywołuje konwerter typów, ponieważ typ lub element członkowski ma skojarzona z nim implementację konwertera typów. Z ramki odwołania CLR oznacza to, że typ lub element członkowski jest TypeConverterAttribute przypisywany. Z perspektywy systemu typu XAML oznacza to, że typ XAML lub element członkowski XAML ma wartość dla jego TypeConverter właściwości. Wywołanie konwertera typów jest powiązane z definicją typu lub właściwości i jest zawsze wywoływane przez przetwarzanie XAML w tych przypadkach. Natomiast rozszerzenie znaczników jest bardziej pod kontrolą kodu użytkownika i znaczników generowanych przez użytkownika i może być stosowane za każdym razem, gdy scenariusz aplikacji go wymaga. Można wywołać rozszerzenie znaczników i użyć go do ustawiania różnych wartości składowych typu, tak długo, jak typ zwracany rozszerzenia znaczników można przypisać do tej wartości.

Aby uzyskać informacje na temat tworzenia niestandardowego rozszerzenia znaczników, zobacz ProvideValue. Aby uzyskać więcej informacji na temat rozszerzeń znaczników w ogóle, zobacz Markup Extensions for XAML Overview (Rozszerzenia znaczników dla języka XAML — omówienie). Jeśli kompilujesz środowisko WPF i używasz lub tworzysz rozszerzenia znaczników dla języka XAML, inne istotne informacje można znaleźć w temacie Markup Extensions and WPF XAML (Rozszerzenia znaczników i WPF XAML).

Metoda ProvideValue każdej implementacji rozszerzenia znaczników może używać IServiceProvider w czasie wykonywania, który może zapewnić kontekst. Następnie IServiceProvider jest to odpytywane pod kątem określonych usług, które przekazują informacje, takie jak IProvideValueTarget lub IXamlTypeResolver. Aby uzyskać więcej informacji na temat kontekstów usługi dla rozszerzenia znaczników, zobacz Service Contexts Available to Type Converters and Markup Extensions (Konteksty usług dostępne dla konwerterów typów i rozszerzeń znaczników).

Klasy pochodne powinny być przypisywane MarkupExtensionReturnTypeAttribute do informowania konsumentów o najbardziej specyficznym typie zwrotnym dostępnym z implementacji ProvideValue rozszerzenia znaczników.

Konstruktory

MarkupExtension()

Inicjuje nowe wystąpienie klasy pochodzącej z MarkupExtensionklasy .

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ProvideValue(IServiceProvider)

Po zaimplementowaniu w klasie pochodnej zwraca obiekt podany jako wartość właściwości docelowej dla tego rozszerzenia znaczników.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też