MarkupExtension Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Udostępnia klasę bazową dla implementacji rozszerzeń znaczników XAML, które mogą być obsługiwane przez usługi XAML platformy .NET oraz inne czytniki XAML i składniki 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 do obiektów wywołujących 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 wyrafinowany 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 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. Z kolei rozszerzenie znaczników jest bardziej pod kontrolą kodu użytkownika i znaczników utworzonych przez użytkownika i może być stosowane za każdym razem, gdy scenariusz aplikacji będzie go wymagał. Można wywołać rozszerzenie znaczników i można go użyć do ustawiania różnych wartości składowych typu, o ile do tej wartości można przypisać typ zwracany rozszerzenia znaczników.
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 tworzysz oprogramowanie 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 tematu 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. Jest to IServiceProvider następnie 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 za pomocą MarkupExtensionReturnTypeAttribute polecenia , aby poinformować konsumentów o najbardziej specyficznym typie zwracania dostępnym w 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, który jest dostarczany jako wartość właściwości docelowej dla tego rozszerzenia znaczników. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |