XmlnsPrefixAttribute Klasa

Definicja

Identyfikuje zalecany prefiks do skojarzenia z przestrzenią nazw XAML dla użycia XAML, podczas pisania elementów i atrybutów w pliku XAML (serializacja) lub podczas interakcji ze środowiskiem projektowym z funkcjami edycji XAML.

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
Dziedziczenie
XmlnsPrefixAttribute
Atrybuty

Uwagi

Procesory XAML lub struktury, które zawierają kod XAML lub dowolny proces wykonujący serializacji XAML, powinny ogólnie uwzględniać zalecany prefiks. Prefiks może być konieczny w każdym przypadku, gdy prefiksy z określonych mapowań w oryginalnym źródle XAML nie są w jakiś sposób zachowywane w grafie obiektu środowiska uruchomieniowego lub w inny sposób przechowywane przez strukturę lub technologię. Struktura może mieć określone preferencje dotyczące serializacji własnych typów, które ignorują zalecany prefiks z własnych zestawów; Można to zrobić, aby konsekwentnie promować domyślną przestrzeń nazw XAML. Jednak taka struktura powinna nadal zapewniać zalecane prefiksy dla możliwych użycia innych firm i narzędzi w swoich typach XAML. Poniżej przedstawiono sekcję "Najlepsze rozwiązanie dotyczące obsługi Projektant języka XAML lub ogólnej serializacji".

Ogólną rekomendacją dla prefiksów jest użycie krótkich ciągów, ponieważ prefiks jest zwykle stosowany do wszystkich serializacji elementów pochodzących z przestrzeni nazw XAML. Długość ciągu prefiksu może mieć zauważalny wpływ na rozmiar serializacji danych wyjściowych XAML.

Jeśli żądany prefiks jest już używany przez inny wcześniej napotkany/serializowany identyfikator przestrzeni nazw XAML, zachowanie jest nieokreślone (zachowanie jest do każdej pojedynczej implementacji procesora XAML).

W większości przypadków stosuje XmlnsPrefixAttribute się tylko wtedy, gdy w zestawie zastosowano co najmniej jedną XmlnsDefinitionAttribute przestrzeń nazw XAML.

W poprzednich wersjach .NET Framework ta klasa istniała w bazie danych WindowsBase zestawu specyficznego dla platformy WPF. W .NET Framework 4 XmlnsPrefixAttribute znajduje się w zestawie System.Xaml. Aby uzyskać więcej informacji, zobacz Typy migrowane z WPF do System.Xaml.

Najlepsze rozwiązanie dotyczące obsługi Projektant XAML lub ogólnej serializacji

Nawet jeśli zamierzasz skojarzyć przestrzeń nazw XAML jako domyślną przestrzeń nazw XAML w większości przypadków użycia dla struktury lub biblioteki, nadal należy określić niepusty ciąg jako zalecany prefiks przestrzeni nazw XAML. Domyślne informacje o przestrzeni nazw XAML są przenoszone w poszczególnych plikach XAML i strumieniach węzłów XAML. Domyślna przestrzeń nazw XAML i sposób jej definiowania w danym źródle XAML można łatwo utrwalić w przypadku serializacji dla poszczególnych przypadków bez użycia metody XmlnsPrefixAttribute. Jest to jednak przydatne w przypadkach, XmlnsPrefixAttribute w których autor XAML zdecydował się zamapować domyślną przestrzeń nazw XAML na coś innego. W tym scenariuszu edytor tekstów XAML osadzony w środowisku projektowym może służyć XmlnsPrefixAttribute jako wskazówka dla początkowego mapowania przestrzeni nazw xmlns XAML. Lub środowisko projektowe może dodać mapowania just in time do zaplecza XAML na potrzeby metafor projektowania, takich jak przeciąganie obiektów z przybornika i do powierzchni projektowej wizualizacji. Ponadto można zauważyć, że projektant może jednocześnie obsługiwać wiele platform obsługujących język XAML i ma wspólny serializator XAML, który opiera się na usługach XAML .NET Framework zamiast serializacji specyficznej dla platformy. Określenie XmlnsPrefixAttribute elementu dla tych scenariuszy ułatwia zwiększenie użycia kodu XAML dla typów przenośnych i niezawodnych, jeśli język XAML jest wymieniany między narzędziami projektowymi, lub przechodzi rundy między edytorami XAML i innymi użytkownikami, takimi jak kompilatory znaczników lub inna serializacja.

Konstruktory

XmlnsPrefixAttribute(String, String)

Inicjuje nowe wystąpienie klasy XmlnsPrefixAttribute.

Właściwości

Prefix

Pobiera zalecany prefiks skojarzony z tym atrybutem.

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute.

(Odziedziczone po Attribute)
XmlNamespace

Pobiera identyfikator przestrzeni nazw XAML skojarzony z tym atrybutem.

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Odziedziczone po Attribute)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po Attribute)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IsDefaultAttribute()

W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.

(Odziedziczone po Attribute)
Match(Object)

W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Odziedziczone po Attribute)
MemberwiseClone()

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

(Odziedziczone po Object)
ToString()

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

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie obiektu, którego można użyć do pobrania informacji o typie interfejsu.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

(Odziedziczone po Attribute)

Dotyczy

Zobacz też