MarkupExtension MarkupExtension MarkupExtension MarkupExtension Class

Definition

Stellt für Implementierungen von XAML-Markuperweiterungen eine Basisklasse bereit, die von .NET Framework-XAML-Diensten und anderen zugehörigen XAML-Readern und XAML-Writern unterstützt werden kann.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
MarkupExtensionMarkupExtensionMarkupExtensionMarkupExtension
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 TypeConverterAttribute Member attributiert wird.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 TypeConverter für seine-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 ProvideValueSie unter.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, IProvideValueTarget z. 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, um Consumer über den spezifischsten Rückgabetyp zu informieren ProvideValue , der in MarkupExtensionReturnTypeAttribute der Implementierung der Markup Erweiterung verfügbar ist.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() MarkupExtension() MarkupExtension() MarkupExtension()

Initialisiert eine neue Instanz einer Klasse, die von MarkupExtension abgeleitet wurde.Initializes a new instance of a class derived from MarkupExtension.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ProvideValue(IServiceProvider) ProvideValue(IServiceProvider) ProvideValue(IServiceProvider) 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() ToString() ToString() ToString()

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

(Inherited from Object)

Gilt für:

Siehe auch