XmlnsPrefixAttribute Klasse

Definition

Identifiziert ein empfohlenes Präfix, das einem XAML-Namespace zur XAML-Verwendung zugeordnet werden soll, wenn Elemente und Attribute in eine XAML-Datei (Serialisierung) geschrieben werden oder wenn mit einer Entwurfsumgebung interagiert wird, die XAML-Bearbeitungsfunktionen hat.

public ref class XmlnsPrefixAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class XmlnsPrefixAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)>]
type XmlnsPrefixAttribute = class
    inherit Attribute
Public NotInheritable Class XmlnsPrefixAttribute
Inherits Attribute
Vererbung
XmlnsPrefixAttribute
Attribute

Hinweise

XAML-Prozessoren oder -Frameworks, die XAML enthalten, oder prozesse, die XAML-Serialisierung ausführen, sollten im Allgemeinen das empfohlene Präfix berücksichtigen. Das Präfix kann in jedem Fall erforderlich sein, wenn Präfixe aus bestimmten Zuordnungen in der ursprünglichen XAML-Quelle nicht irgendwie im Laufzeitobjektgraphen beibehalten oder anderweitig von einem Framework oder einer Technologie gespeichert werden. Ein Framework kann bestimmte Einstellungen für die Serialisierung seiner eigenen Typen haben, die das empfohlene Präfix aus seinen eigenen Assemblys ignorieren. Dies kann durchgeführt werden, um einen standardmäßigen XAML-Namespace konsistent heraufzustufen. Ein solches Framework sollte jedoch weiterhin empfohlene Präfixe für mögliche Verwendungen von Drittanbietern und Tools seiner XAML-Typen bereitstellen. Weitere Informationen finden Sie weiter unten im Abschnitt "Best Practice for XAML Designer Support or General Serialization".

Eine allgemeine Empfehlung für Präfixe ist die Verwendung kurzer Zeichenfolgen, da das Präfix in der Regel auf alle serialisierten Elemente angewendet wird, die aus dem XAML-Namespace stammen. Die Länge der Präfixzeichenfolge kann sich spürbar auf die Größe der serialisierten XAML-Ausgabe auswirken.

Wenn ein angefordertes Präfix bereits von einem anderen zuvor gefundenen/serialisierten XAML-Namespacebezeichner verwendet wird, ist das Verhalten nicht angegeben (das Verhalten gilt für jede einzelne XAML-Prozessorimplementierung).

In den meisten Fällen wenden Sie nur an XmlnsPrefixAttribute , wenn Sie auch mindestens einen XmlnsDefinitionAttribute in der Assembly für denselben XAML-Namespace angewendet haben.

In früheren Versionen der .NET Framework war diese Klasse in der WPF-spezifischen Assembly WindowsBase vorhanden. In .NET Framework 4 XmlnsPrefixAttribute befindet sich in der System.Xaml-Assembly. Weitere Informationen finden Sie unter Types Migrated from WPF to System.Xaml.

Bewährte Methode für XAML-Designer-Unterstützung oder allgemeine Serialisierung

Selbst wenn Sie beabsichtigen, dass der zugeordnete XAML-Namespace in den meisten Anwendungsfällen für Ihr Framework oder Ihre Bibliothek der Standard-XAML-Namespace ist, sollten Sie dennoch eine nicht leere Zeichenfolge als empfohlenes Präfix für einen XAML-Namespace angeben. Standardmäßige XAML-Namespaceinformationen werden in einzelnen XAML-Dateien und XAML-Knotenstreams übertragen. Der STANDARDMÄßIGE XAML-Namespace und seine Definition in einer bestimmten XAML-Quelle können problemlos für die Serialisierung pro Fall beibehalten werden, ohne zu verwenden XmlnsPrefixAttribute. Die ist jedoch nützlich für Fälle, XmlnsPrefixAttribute in denen der XAML-Autor den Standard-XAML-Namespace etwas anderem zuordnen möchte. In diesem Szenario kann ein in eine Entwurfsumgebung eingebetteter XAML-Text-Editor als Hinweis für eine anfängliche XAML-Namespacezuordnung xmlns verwendet XmlnsPrefixAttribute werden. Oder eine Entwurfsumgebung kann just-in-time-Zuordnungen zum hintergrundbasierten XAML für Entwurfsmetaphern hinzufügen, z. B. das Ziehen von Objekten aus einer Toolbox in eine visuelle Entwurfsoberfläche. Darüber hinaus ist es denkbar, dass ein Designer mehrere XAML-aktivierende Frameworks gleichzeitig unterstützen könnte und über ein gemeinsames XAML-Serialisierungsprogramm verfügt, das auf .NET Framework XAML-Diensten anstelle einer frameworkspezifischen Serialisierung basiert. Die Angabe eines XmlnsPrefixAttribute für diese Szenarien trägt dazu bei, die XAML-Verwendung für Ihre Typen portierbarer und robuster zu gestalten, wenn der XAML zwischen Designtools ausgetauscht wird oder einen Roundtrip zwischen XAML-Editoren und anderen Consumern wie Markupcompilern oder anderen Serialisierungen durchläuft.

Konstruktoren

XmlnsPrefixAttribute(String, String)

Initialisiert eine neue Instanz der XmlnsPrefixAttribute-Klasse.

Eigenschaften

Prefix

Ruft das diesem Attribut zugeordnete empfohlene Präfix ab.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)
XmlNamespace

Ruft den diesem Attribut zugeordneten XAML-Namespacebezeichner ab.

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von Attribute)

Gilt für:

Weitere Informationen