AmbientAttribute AmbientAttribute AmbientAttribute AmbientAttribute Class

Definición

Especifica que una propiedad o un tipo debe tratarse como ambiente.Specifies that a property or type should be treated as ambient. El concepto de ambiente se relaciona con la forma en que los procesadores XAML determinan los propietarios de tipos de los miembros.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
Herencia
AmbientAttributeAmbientAttributeAmbientAttributeAmbientAttribute
Atributos

Comentarios

Una propiedad de ambiente es una propiedad en la que se espera que el valor esté disponible en el contexto del analizador al crear un gráfico de objetos, pero donde la búsqueda típica de miembros de tipo se suspende a efectos del conjunto de nodos XAML inmediato que se va a crear.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. Hay dos escenarios principales para el concepto de ambiente:There are two main scenarios for the ambient concept:

  • Otras propiedades del mismo objeto influyen en el funcionamiento de la búsqueda de propiedad de objeto.Some other property of the same object influences and qualifies how that object-property lookup should work.

  • La propiedad representa un mecanismo de aplazamiento mayor y las capacidades de ambiente para buscar un valor de miembro se extienden a todos los objetos incluidos en el objeto actual.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.

Este atributo se puede aplicar a propiedades específicas que tienen contenedores esperados que habilitan un comportamiento de búsqueda de propiedades de ambiente o que se pueden aplicar a una clase para habilitar el comportamiento de la propiedad de ambiente en todos los casos de ese tipo de valor para una propiedad.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.

AmbientAttributetambién se puede aplicar a un método CLR, para admitir la atribución de una propiedad adjuntable XAML como ambiente.AmbientAttribute can also be applied to a CLR method, to support attributing a XAML attachable property as ambient. Esto es posible porque, en una implementación de CLR, se implementa o representa una propiedad adjunta de XAML en la reflexión como get un set patrón de descriptor de acceso con métodos y.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 existe ninguna propiedad CLR real en el atributo, por lo que restringir Property el uso de a no habría habilitado la especificación de AttributeTargets un miembro que se puede adjuntar como 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. Para un miembro adjuntable que desea notificar como ambiente, el get descriptor de acceso es Attribute.For an attachable member that you want to report as ambient, attribute the get accessor. No debe intentar atribuir métodos que no admitan específicamente los métodos que se pueden adjuntar.You should not attempt to attribute methods that are not specifically support methods of attachable members.

En las versiones anteriores de la .NET Framework, esta clase existía en el ensamblado específico de WPF WindowsBase.In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. En .NET Framework 4.NET Framework 4 ,AmbientAttribute está en el ensamblado System. Xaml.In .NET Framework 4.NET Framework 4, AmbientAttribute is in the System.Xaml assembly. Para obtener más información, consulta Types Migrated from WPF to System.Xaml.For more information, see Types Migrated from WPF to System.Xaml.

Los tipos de ambiente ( AmbientAttribute tipos en los que se aplica en el nivel de tipo) se pueden usar para ciertas situaciones de procesamiento de XAML en las que el tipo de una propiedad debe resolverse desordenado.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.

Escenarios del escritor de objetosObject Writer Scenarios

Si va a definir un escritor de objetos XAML y encuentra una propiedad, un método o un tipo AmbientAttribute en el que se aplica, normalmente debe tener acceso a un servicio para determinar el comportamiento de búsqueda de la propiedad ambiente previsto que se necesita para escribir objetos.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. Para obtener más información, vea IAmbientProvider.For more information, see IAmbientProvider.

Convertidores de valoresValue Converters

Es posible que los convertidores de tipos o las extensiones de marcado necesiten conocer la información ambiente para procesar propiedades que representan asignaciones de tipos indirectas, como propiedades que especifican miembros o tipos por nombres de cadena con o sin calificación.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. En este escenario, AmbientAttribute no está pensado para usarse directamente para la lógica de código del convertidor de valores.In this scenario, AmbientAttribute is not intended to be used directly for value converter code logic. En su lugar, el convertidor de valores debe basarse en el comportamiento de procesamiento del IAmbientProvider escritor XAML, que pasará sus contextos de servicio a los métodos del convertidor de valores cuando se le llame.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.

Escenarios de WPF para AmbientAttributeWPF Scenarios for AmbientAttribute

  • Una propiedad de Style (TargetType) puede calificar las búsquedas de nombres de propiedad necesarias para buscar las referencias de respaldo de los nombres de propiedad Setter.Property de los valores.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.

  • Todo el contenido dentro Resources de una propiedad (elementos ResourceDictionaryde a), así como el contenido de plantilla, debe poder tener acceso a otros elementos del mismo nivel como valores.All content within a Resources property (items of a ResourceDictionary) as well as template content, should be able to access other peers as values. Declarar la propiedad completa Resources como ambiente invoca la lógica que lo habilita en el analizador XAML de WPF.Declaring the entire Resources property as ambient invokes logic that enables this in the WPF XAML parser.

Vea ResourceDictionary para obtener un ejemplo de un escenario de AmbientAttribute configuración en el nivel de tipo.See ResourceDictionary for an example of a scenario for setting AmbientAttribute at type level.

Constructores

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

Inicializa una nueva instancia de la clase AmbientAttribute.Initializes a new instance of the AmbientAttribute class.

Métodos

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

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.Returns a value that indicates whether this instance is equal to a specified object.

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

Devuelve el código hash de esta instancia.Returns the hash code for this instance.

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

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.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)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.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 superficial del objeto Object actual.Creates a shallow copy of the current Object.

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

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.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)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.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 el número de interfaces de información de tipo que proporciona un objeto (0 ó 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)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Propiedades

TypeId TypeId TypeId TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Se aplica a

Consulte también: