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 è previsto che il valore sia disponibile nel contesto del parser durante la creazione di un oggetto grafico, ma in cui la tipica ricerca di membri di tipo viene sospesa per gli scopi del set di nodi XAML immediato da creare.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 influenza e qualifica la modalità di funzionamento della ricerca della 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 di rinvio più grande e le funzionalità di ambiente per la ricerca di un valore di membro si estendono a tutti gli oggetti contenuti nell'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 hanno contenitori previsti che consentono un comportamento di ricerca delle proprietà di ambiente o che possono essere applicati a una classe per abilitare il comportamento della proprietà di ambiente in tutti i casi di tale 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.

AmbientAttributepuò anche essere applicato a un metodo CLR, per supportare l'attribuzione di una proprietà associativa XAML come ambiente.AmbientAttribute can also be applied to a CLR method, to support attributing a XAML attachable property as ambient. Questa operazione è potenzialmente necessaria perché in un'implementazione CLR una proprietà associata XAML viene implementata o rappresentata nella reflection come modello get di set funzione di accesso con i metodi e.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 effettiva da attribuire, quindi la limitazione dell' AttributeTargets utilizzo di a Property non avrebbe consentito di specificare un membro collegabile 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 collegabile che si desidera segnalare come ambiente, attribuire la get funzione di accesso.For an attachable member that you want to report as ambient, attribute the get accessor. Non è consigliabile tentare di attribuire metodi che non supportano specificamente metodi di membri collegati.You should not attempt to attribute methods that are not specifically support methods of attachable members.

Nelle versioni precedenti del .NET Framework, questa classe era presente nell'assembly WindowsBase specifico di WPF.In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. In .NET Framework 4.NET Framework 4 ,AmbientAttribute si trova 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.

I tipi di ambiente ( AmbientAttribute tipi in cui viene applicato a livello di tipo) possono essere utilizzati per determinate situazioni di elaborazione XAML in cui il tipo di una proprietà deve essere risolto in modo non corretto.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 definisce un writer di oggetti XAML e si verifica una proprietà, un metodo o un tipo AmbientAttribute in cui viene applicato, in genere è necessario accedere a un servizio per determinare il comportamento di ricerca della proprietà di ambiente necessario per la scrittura di 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 ulteriori informazioni, vedere IAmbientProvider.For more information, see IAmbientProvider.

Convertitori di valoriValue Converters

È possibile che i convertitori di tipi o le estensioni di markup debbano comprendere le informazioni di ambiente per elaborare proprietà che rappresentano mapping di tipi indiretti, ad esempio proprietà che specificano membri o tipi in base ai nomi di 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 è destinato a essere utilizzato direttamente per la logica del codice del convertitore di valori.In this scenario, AmbientAttribute is not intended to be used directly for value converter code logic. Il convertitore di valori deve invece basarsi sul comportamento di elaborazione del writer XAML, che IAmbientProvider passa i contesti del servizio ai metodi del convertitore di valori 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 Style (TargetType) può qualificare le ricerche del nome di proprietà necessarie per trovare i riferimenti di supporto per i nomi di 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' Resources interno di una proprietà ( ResourceDictionaryelementi di a) e il 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. Se si dichiara l' Resources intera proprietà come ambiente, viene richiamata la logica che la Abilita nel parser XAML WPF.Declaring the entire Resources property as ambient invokes logic that enables this in the WPF XAML parser.

Vedere 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