AmbientAttribute AmbientAttribute AmbientAttribute AmbientAttribute Class

Definizione

Specifica che una proprietà o un tipo deve essere considerato di ambiente.Specifies that a property or type should be treated as ambient. l concetto di ambiente si riferisce al modo in cui i processori XAML determinano i proprietari dei tipi dei membri.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
Ereditarietà
AmbientAttributeAmbientAttributeAmbientAttributeAmbientAttribute
Attributi

Commenti

Una proprietà di ambiente è una proprietà in cui il valore deve essere disponibile nel contesto del parser durante la creazione di un oggetto grafico, ma la ricerca di tipi o membri tipico viene sospesa per scopi del nodo XAML immediato set creato.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. Esistono due scenari principali per il concetto di ambiente:There are two main scenarios for the ambient concept:

  • Un'altra proprietà dello stesso oggetto influisce su e certifica funzionamento di tale ricerca di proprietà dell'oggetto.Some other property of the same object influences and qualifies how that object-property lookup should work.

  • La proprietà rappresenta un meccanismo più ampio di differimento ed estendono le funzionalità di ambiente per la ricerca di un valore del membro per tutti gli oggetti contenuti all'interno dell'oggetto corrente.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.

Questo attributo può essere applicato a proprietà specifiche che ci si aspetta i contenitori che consentono a un comportamento di ricerca delle proprietà di ambiente oppure può essere applicato a una classe per abilitare il comportamento di proprietà di ambiente in tutti i casi di quel tipo di valore per una proprietà.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 può anche essere applicato a un metodo CLR, per supportare l'attribuzione di una proprietà associabile XAML come ambiente.AmbientAttribute can also be applied to a CLR method, to support attributing a XAML attachable property as ambient. Ciò è potenzialmente necessario perché in un'implementazione CLR un XAML proprietà associata è implementato/rappresentato per la reflection come un modello di funzione di accesso con get e set metodi.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. Non esiste alcuna proprietà CLR effettivo all'attributo, limitando così l'utilizzo per AttributeTargets a Property avrebbe non abilitato specificando un membro associabile come ambiente.No actual CLR property to attribute exists, so restricting usage for AttributeTargets to Property would not have enabled specifying an attachable member as ambient. Per un membro associabile che si desidera segnalare di ambiente, dell'attributo di get della funzione di accesso.For an attachable member that you want to report as ambient, attribute the get accessor. Non provare a metodi di attributo che non sono in modo specifico i metodi di supporto di membri associabili.You should not attempt to attribute methods that are not specifically support methods of attachable members.

Nelle versioni precedenti di .NET Framework, questa classe era presente nell'assembly WindowsBase di specifiche di WPF.In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. Nelle .NET Framework 4.NET Framework 4, AmbientAttribute è incluso nell'assembly System. Xaml.In .NET Framework 4.NET Framework 4, AmbientAttribute is in the System.Xaml assembly. Per altre informazioni, vedere Types Migrated from WPF to System.Xaml.For more information, see Types Migrated from WPF to System.Xaml.

Tipi di ambiente (tipi where AmbientAttribute viene applicato a livello di tipo) può essere utilizzato per alcune situazioni l'elaborazione di XAML in cui il tipo di una proprietà deve essere risolto nell'ordine errato.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.

Scenari di Writer di oggettiObject Writer Scenarios

Se si sta definendo un writer di oggetti XAML e si verifica una proprietà, un metodo o un tipo in cui AmbientAttribute viene applicato, è in genere è necessario accedere a un servizio per determinare il comportamento di ricerca di proprietà di ambiente desiderato che è necessaria per la scrittura degli oggetti.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. Per altre informazioni, vedere IAmbientProvider.For more information, see IAmbientProvider.

Convertitori di valoriValue Converters

Estensioni di markup o convertitori di tipi potrebbe essere necessario conoscere le informazioni di ambiente per elaborare le proprietà che rappresentano i mapping di tipo indiretta, ad esempio le proprietà che specificano i membri o tipi dai nomi della stringa con o senza qualifica.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 questo scenario, AmbientAttribute non deve essere utilizzato direttamente per la logica di codice convertitore di valori.In this scenario, AmbientAttribute is not intended to be used directly for value converter code logic. Piuttosto, il convertitore di valori deve basarsi sul comportamento di elaborazione del writer XAML, che deve trascorrere IAmbientProvider nei contesti di servizio relativo ai metodi di convertitore di tipi di valore quando viene chiamato.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.

Scenari WPF per AmbientAttributeWPF Scenarios for AmbientAttribute

  • Una proprietà di un Style (TargetType) può qualificare le ricerche di nome di proprietà che sono necessari per trovare i riferimenti sottostanti per i nomi delle proprietà in Setter.Property valori.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.

  • Tutto il contenuto all'interno di un Resources proprietà (elementi di un ResourceDictionary), nonché del contenuto del modello, deve essere in grado di accedere ad altri peer come valori.All content within a Resources property (items of a ResourceDictionary) as well as template content, should be able to access other peers as values. La dichiarazione dell'intera Resources proprietà come ambiente richiama la logica che si abilita nel parser XAML WPF.Declaring the entire Resources property as ambient invokes logic that enables this in the WPF XAML parser.

Visualizzare ResourceDictionary per un esempio di scenario per l'impostazione AmbientAttribute a livello di tipo.See ResourceDictionary for an example of a scenario for setting AmbientAttribute at type level.

Costruttori

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

Inizializza una nuova istanza della classe AmbientAttribute.Initializes a new instance of the AmbientAttribute class.

Metodi

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

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

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

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.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)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.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()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

_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)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.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)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.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)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 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)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Proprietà

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Si applica a

Vedi anche