MarkupExtension Klasse

Definition

Stellt eine Basisklasse für Implementierungen von XAML-Markuperweiterungen bereit, die von .NET Framework-XAML-Diensten sowie anderen XAML-Readern und XAML-Writern unterstützt werden können.Provides a base class for XAML markup extension implementations that can be supported by .NET Framework XAML Services and other XAML readers and XAML writers.

public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
Vererbung
MarkupExtension
Abgeleitet

Hinweise

Markup Erweiterungen geben Objekte auf der Grundlage der Eingabe von Zeichen folgen Attributwerten oder Markup Elementen in XAML an Aufrufer zurück.Markup extensions return objects to callers, based on the input of string attribute values or markup elements in XAML. Markup Erweiterungen geben Objekte auf anspruchsvollere Weise zurück, als Typkonverter allein erreichen können.Markup extensions return objects in a more sophisticated way than type converters alone can accomplish. Ein XAML-objektwriter Ruft einen Typkonverter auf, da einem Typ oder Member eine typkonverterimplementierung zugeordnet ist.A XAML object writer invokes a type converter because a type or member has a type converter implementation associated with it. Im CLR-Frame des Verweises bedeutet dies, dass ein Typ oder ein Member attributiert wird TypeConverterAttribute .From the CLR frame of reference, this means that a type or member is TypeConverterAttribute attributed. Aus der XAML-Typsystem Perspektive bedeutet dies, dass ein XAML-Typ oder ein XAML-Member einen Wert für seine- TypeConverter Eigenschaft aufweist.From the XAML type system perspective, this means that a XAML type or a XAML member has a value for its TypeConverter property. Der Aufruf eines Typkonverters ist an den Typ oder die Eigenschafts Definition gebunden und wird für diese Fälle immer von der XAML-Verarbeitung aufgerufen.The invocation of a type converter is tied to the type or property definition, and is always invoked by XAML processing for these cases. Im Gegensatz dazu unterliegt eine Markup Erweiterung eher der Steuerung des Benutzercodes und des Benutzer erstellten Markups und kann immer angewendet werden, wenn Sie von einem Anwendungsszenario benötigt wird.In contrast, a markup extension is more under the control of user code and user-produced markup, and can be applied whenever an application scenario demands it. Eine Markup Erweiterung kann aufgerufen und zum Festlegen von unterschiedlichen Typmember-Werten verwendet werden, solange der Rückgabetyp der Markup Erweiterung diesem Wert zugewiesen werden kann.A markup extension can be invoked and can be used for setting different type-member values, so long as the markup extension's return type is assignable to that value.

Weitere Informationen zum Erstellen einer benutzerdefinierten Markup Erweiterung finden Sie unter ProvideValue .For information on creating a custom markup extension, see ProvideValue. Weitere Informationen zu Markup Erweiterungen im Allgemeinen finden Sie unter Übersicht über Markup Erweiterungen für XAML.For more information on markup extensions in general, see Markup Extensions for XAML Overview. Wenn Sie WPF erstellen und Markup Erweiterungen für XAML verwenden oder erstellen, finden Sie weitere relevante Informationen im Thema Markup Erweiterungen und WPF-XAML.If you are building on WPF and using or creating markup extensions for XAML, other relevant information can be found in the topic Markup Extensions and WPF XAML.

Die- ProvideValue Methode jeder Markup Erweiterungs Implementierung kann einen IServiceProvider zur Laufzeit verwenden, der Kontext bereitstellen kann.The ProvideValue method of each markup extension implementation can use an IServiceProvider at run time that can provide context. Diese IServiceProvider wird dann für bestimmte Dienste abgefragt, die Informationen übergeben, z IProvideValueTarget . b IXamlTypeResolver . oder.This IServiceProvider is then queried for specific services that pass information, such as IProvideValueTarget or IXamlTypeResolver. Weitere Informationen zu Dienst Kontexten für eine Markup Erweiterung finden Sie unter für Typkonverter und Markup Erweiterungen verfügbare Dienst Kontexte.For more information on service contexts for a markup extension, see Service Contexts Available to Type Converters and Markup Extensions.

Abgeleitete Klassen sollten mit attributiert werden MarkupExtensionReturnTypeAttribute , um Consumer über den spezifischsten Rückgabetyp zu informieren, der in der Implementierung der Markup Erweiterung verfügbar ist ProvideValue .Derived classes should be attributed with MarkupExtensionReturnTypeAttribute to inform consumers of the most specific return type available from the markup extension's ProvideValue implementation.

Konstruktoren

MarkupExtension()

Initialisiert eine neue Instanz einer von der MarkupExtension abgeleiteten Klasse.Initializes a new instance of a class derived from MarkupExtension.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ProvideValue(IServiceProvider)

Gibt bei Implementierung in einer abgeleiteten Klasse ein Objekt zurück, das als Wert der Zieleigenschaft für diese Markuperweiterung bereitgestellt wird.When implemented in a derived class, returns an object that is provided as the value of the target property for this markup extension.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Gilt für:

Weitere Informationen