Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

AmbientAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Gibt an, dass eine Eigenschaft oder ein Typ als Umgebung behandelt werden soll. Das Umgebungskonzept bezieht sich darauf, wie XAML-Prozessoren Typbesitzer von Membern bestimmen.

Namespace:   System.Windows.Markup
Assembly:  System.Xaml (in System.Xaml.dll)

System.Object
  System.Attribute
    System.Windows.Markup.AmbientAttribute

[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Property, 
	Inherited = true)]
public sealed class AmbientAttribute : Attribute

NameBeschreibung
System_CAPS_pubmethodAmbientAttribute()

Initialisiert eine neue Instanz der AmbientAttribute-Klasse.

NameBeschreibung
System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

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

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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“.)

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. There are two main scenarios for the ambient concept:

  • Some other property of the same object influences and qualifies how that object-property lookup should work.

  • 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.

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 can also be applied to a CLR method, to support attributing a XAML attachable property as ambient. 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. No actual CLR property to attribute exists, so restricting usage for AttributeTargets to Property would not have enabled specifying an attachable member as ambient. For an attachable member that you want to report as ambient, attribute the get accessor. You should not attempt to attribute methods that are not specifically support methods of attachable members.

In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. In net_v40_long, T:System.Windows.Markup.AmbientAttribute is in the System.Xaml assembly. For more information, see Types Migrated From WPF to System.Xaml.

Ambient types (types where T:System.Windows.Markup.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.

If you are defining a XAML object writer, and you encounter a property, method or type where T:System.Windows.Markup.AmbientAttribute is applied, you typically must access a service to determine the intended ambient property lookup behavior that is needed for writing out objects. For more information, see T:System.Xaml.IAmbientProvider.

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 this scenario, T:System.Windows.Markup.AmbientAttribute is not intended to be used directly for value converter code logic. Rather, the value converter should rely on the XAML writer processing behavior, which will pass T:System.Xaml.IAmbientProvider in its service contexts to your value converter methods when called.

  • A property of a T:System.Windows.Style (P:System.Windows.Style.TargetType) can qualify the necessary property name lookups that are needed to find the backing references for property names in P:System.Windows.Setter.Property values.

  • All content within a Resources property (items of a T:System.Windows.ResourceDictionary) as well as template content, should be able to access other peers as values. Declaring the entire Resources property as ambient invokes logic that enables this in the WPF XAML parser.

See T:System.Windows.ResourceDictionary for an example of a scenario for setting T:System.Windows.Markup.AmbientAttribute at type level.

.NET Framework
Verfügbar seit 3.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: