AmbientAttribute AmbientAttribute AmbientAttribute AmbientAttribute Class

Definition

Gibt an, dass eine Eigenschaft oder ein Typ als Umgebung behandelt werden soll.Specifies that a property or type should be treated as ambient. Das Umgebungskonzept bezieht sich darauf, wie XAML-Prozessoren Typbesitzer von Membern bestimmen.The ambient concept relates to how XAML processors determine type owners of members.

public ref class AmbientAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=true)]
[System.AttributeUsage(System.AttributeTargets.Property, Inherited=true)]
public sealed class AmbientAttribute : Attribute
type AmbientAttribute = class
    inherit Attribute
Public NotInheritable Class AmbientAttribute
Inherits Attribute
Vererbung
AmbientAttributeAmbientAttributeAmbientAttributeAmbientAttribute
Attribute

Hinweise

Eine Ambiente-Eigenschaft ist eine Eigenschaft, in denen der Wert muss in der Parserkontext verfügbar sein, beim Erstellen eines Objektdiagramms, aber bei der Suche nach typischen Typ-Membern angehalten wird, im Rahmen der unmittelbaren XAML-Knoten festgelegt, wird erstellt.An ambient property is a property where the value is expected to be available in the parser context when creating an object graph, but where typical type-member lookup is suspended for purposes of the immediate XAML node set being created. Es gibt zwei Hauptszenarien für das Umgebungskonzept:There are two main scenarios for the ambient concept:

  • Eine andere Eigenschaft desselben Objekts wirkt sich darauf aus, und qualifiziert die Funktionsweise dieser Lookup Objekteigenschaft.Some other property of the same object influences and qualifies how that object-property lookup should work.

  • Die Eigenschaft darstellt, eine größere verzögerungsmechanismus wird und die ambient-Funktionen für die Suche nach einem Elementwert zu erweitern, auf alle Objekte innerhalb des aktuellen Objekts.The property represents a larger deferral mechanism and the ambient capabilities for looking up a member value extend to all objects contained within the current object.

Dieses Attribut kann auf bestimmte Eigenschaften, die Container erwartet haben, mit denen ein Suchverhalten ambient-Eigenschaft angewendet werden, oder Sie kann auf eine Klasse, um das Verhalten der ambient-Eigenschaft in allen Fällen dieses Werttyps für eine Eigenschaft aktivieren angewendet werden.This attribute can be applied to specific properties that have expected containers that enable an ambient property lookup behavior, or can be applied to a class to enable the ambient property behavior in all cases of that value type for a property.

AmbientAttribute kann auch auf eine CLR-Methode, zur Unterstützung eine anfügbare XAML-Eigenschaft als ambient Attributierung angewendet werden.AmbientAttribute can also be applied to a CLR method, to support attributing a XAML attachable property as ambient. Dies ist möglicherweise erforderlich, da in einer CLR-Implementierung eine XAML angefügten Eigenschaft implementiert/für die Reflektion als ein Accessor-Muster mit dargestellt wird get und set Methoden.This is potentially necessary because in a CLR implementation a XAML attached property is implemented/represented to reflection as an accessor pattern with get and set methods. Keine tatsächliche CLR-Eigenschaft zum Attribut vorhanden ist, also eingeschränkt Nutzung für AttributeTargets zu Property nicht hätte einen anfügbaren Member als Umgebung angeben.No actual CLR property to attribute exists, so restricting usage for AttributeTargets to Property would not have enabled specifying an attachable member as ambient. Attribut für ein anfügbarer Member, die Sie als Umgebung melden möchten, die get Accessor.For an attachable member that you want to report as ambient, attribute the get accessor. Sie sollten nicht zu Attribut-Methoden, die nicht speziell Unterstützungsmethoden anfügbaren Member sind.You should not attempt to attribute methods that are not specifically support methods of attachable members.

In früheren Versionen von .NET Framework war diese Klasse in der Assembly "WPF-spezifische" WindowsBase.In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. In .NET Framework 4.NET Framework 4, AmbientAttribute befindet sich in der System.Xaml-Assembly.In .NET Framework 4.NET Framework 4, AmbientAttribute is in the System.Xaml assembly. Weitere Informationen finden Sie unter Types Migrated from WPF to System.Xaml.For more information, see Types Migrated from WPF to System.Xaml.

Ambient-Typen (Typen, bei denen AmbientAttribute auf Typebene angewendet wird) kann für bestimmte XAML-Verarbeitungssituationen, in denen der Typ einer Eigenschaft aufgelöst werden außerhalb der Reihenfolge muss, verwendet werden.Ambient types (types where AmbientAttribute is applied at type level) can be used for certain XAML processing situations where the type of a property needs to be resolved out of order.

Objekt-Writer-SzenarienObject Writer Scenarios

Wenn Sie einen XAML-Objektwriter definieren und einer Eigenschaft/Methode oder Typ treten, in denen AmbientAttribute wird angewendet, Sie in der Regel müssen Zugriff auf einen Dienst, um das Suchverhalten vorgesehenen ambient-Eigenschaft zu ermitteln, die zum Ausgeben von Objekten erforderlich ist.If you are defining a XAML object writer, and you encounter a property, method or type where AmbientAttribute is applied, you typically must access a service to determine the intended ambient property lookup behavior that is needed for writing out objects. Weitere Informationen finden Sie unter IAmbientProvider.For more information, see IAmbientProvider.

WertkonverterValue Converters

Typkonverter oder Markuperweiterungen müssen möglicherweise die Ambiente-Informationen, um Eigenschaften zu verarbeiten, die indirekte typzuordnungen, z. B. Eigenschaften darstellen, die vom Zeichenfolgennamen mit oder ohne Qualifikation Membern oder Typen angeben.Type converters or markup extensions might need to know the ambient information in order to process properties that represent indirect type mappings, such as properties that specify members or types by string names with or without qualification. In diesem Szenario AmbientAttribute nicht direkt für den Wert Code Konverterlogik verwendet werden soll.In this scenario, AmbientAttribute is not intended to be used directly for value converter code logic. Stattdessen der Wertkonverter sollte sich nur auf die XAML-Writer Verarbeitungsverhalten, das erfolgreich abgeschlossen werden, IAmbientProvider in seinen Dienstkontexten auf Ihre Wert Konverter als aufgerufen.Rather, the value converter should rely on the XAML writer processing behavior, which will pass IAmbientProvider in its service contexts to your value converter methods when called.

WPF-Szenarios für AmbientAttributeWPF Scenarios for AmbientAttribute

  • Eine Eigenschaft einer Style (TargetType) können die erforderliche Eigenschaft Suchvorgänge nach, die erforderlich sind, finden Sie unterstützende Verweise für Eigenschaftsnamen in qualifizieren Setter.Property Werte.A property of a Style (TargetType) can qualify the necessary property name lookups that are needed to find the backing references for property names in Setter.Property values.

  • Sämtlicher Inhalt innerhalb einer Resources Eigenschaft (Elemente eine ResourceDictionary) sowie den Inhalt der Vorlage muss auf andere Peers als Werte zugreifen.All content within a Resources property (items of a ResourceDictionary) as well as template content, should be able to access other peers as values. Deklarieren die gesamte Resources Eigenschaft als ambient ruft Logik, die dadurch in der WPF XAML-Parser.Declaring the entire Resources property as ambient invokes logic that enables this in the WPF XAML parser.

Finden Sie unter ResourceDictionary ein Beispiel für ein Szenario für die Einstellung AmbientAttribute auf Typebene.See ResourceDictionary for an example of a scenario for setting AmbientAttribute at type level.

Konstruktoren

AmbientAttribute() AmbientAttribute() AmbientAttribute() AmbientAttribute()

Initialisiert eine neue Instanz der AmbientAttribute-Klasse.Initializes a new instance of the AmbientAttribute class.

Methoden

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

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

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

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _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.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Eigenschaften

TypeId TypeId TypeId TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Gilt für:

Siehe auch