Atributos de CLR relacionados con XAML para los tipos y bibliotecas personalizadosXAML-related CLR attributes for custom types and libraries

En este tema se describen los atributos de Common Language Runtime (CLR) definidos por los servicios XAML de .NET.This topic describes the common language runtime (CLR) attributes that are defined by .NET XAML Services. También se describen otros atributos CLR definidos en .NET que tienen un escenario relacionado con XAML para la aplicación a ensamblados o tipos.It also describes other CLR attributes that are defined in .NET that have a XAML-related scenario for application to assemblies or types. La atribución de ensamblados, tipos o miembros con estos atributos CLR proporciona información del sistema de tipos XAML relacionada con los tipos.Attributing assemblies, types, or members with these CLR attributes provides XAML type system information related to your types. Se proporciona información a cualquier consumidor XAML que use los servicios XAML de .NET para procesar el flujo de nodo XAML directamente o a través de los lectores XAML y escritores de XAML dedicados.Information is provided to any XAML consumer that uses .NET XAML Services for processing the XAML node stream directly or through the dedicated XAML readers and XAML writers.

El uso de atributos CLR implica que se usa el CLR global para definir los tipos; de lo contrario, estos atributos no estarán disponibles.Using CLR attributes entails that you are using the overall CLR to define your types, otherwise such attributes are not available. Si usa CLR para definir la copia de seguridad de tipos, el contexto de esquema XAML predeterminado utilizado por los escritores de XAML de los servicios XAML de .NET puede leer la atribución de CLR mediante la reflexión en los ensamblados de respaldo.If you use the CLR to define type backing, then the default XAML schema context used by .NET XAML Services XAML writers can read CLR attribution through reflection against backing assemblies.

En las secciones siguientes se describen los atributos relacionados con XAML que se pueden aplicar a los tipos personalizados o a los miembros personalizados.The following sections describe the XAML-related attributes that you can apply to custom types or custom members. Cada atributo CLR comunica información que es relevante para un sistema de tipos XAML.Each CLR attribute communicates information that is relevant to a XAML type system. En la ruta de acceso de carga, la información con atributos ayuda al lector de XAML a formar un flujo de nodo XAML válido o ayuda al escritor de XAML a generar un gráfico de objetos válido.In the load path, the attributed information either helps the XAML reader form a valid XAML node stream, or it helps the XAML writer produce a valid object graph. En la ruta de acceso de guardado, la información con atributos ayuda al lector de XAML a formar una secuencia de nodo XAML válida que reconstituye la información del sistema de tipos XAML. también se declaran sugerencias o requisitos de serialización para el escritor XAML u otros consumidores XAML.In the save path, the attributed information either helps the XAML reader form a valid XAML node stream that reconstitutes XAML type system information; or it declares serialization hints or requirements for the XAML writer or other XAML consumers.

AmbientAttributeAmbientAttribute

Documentación de referencia:AmbientAttributeReference Documentation: AmbientAttribute

Se aplica a: Miembros de clase, propiedad o get descriptor de acceso que admiten propiedades adjuntables.Applies to: Class, property, or get accessor members that support attachable properties.

Argumentos: NingunaArguments: None

AmbientAttribute indica que la propiedad, o todas las propiedades que toman el tipo con atributos, debe interpretarse en el concepto de propiedad de ambiente en XAML.AmbientAttribute indicates that the property, or all properties that take the attributed type, should be interpreted under the ambient property concept in XAML. 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. 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 se suspende la búsqueda de miembros de tipo típica para el conjunto de nodos XAML inmediato que se está creando.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 the immediate XAML node set being created.

El concepto ambiente se puede aplicar a los miembros que se pueden adjuntar, que no se representan como propiedades en cuanto a cómo se define la atribución de CLR AttributeTargets .The ambient concept can be applied to attachable members, which are not represented as properties in terms of how CLR attribution defines AttributeTargets. El uso de atribución de métodos solo debe aplicarse a un get descriptor de acceso que admita el uso adjuntable para XAML.The method attribution usage should be applied only for a get accessor that supports attachable usage for XAML.

ConstructorArgumentAttributeConstructorArgumentAttribute

Documentación de referencia: ConstructorArgumentAttributeReference Documentation: ConstructorArgumentAttribute

Se aplica a: LasApplies to: Class

Argumentos: Cadena que especifica el nombre de la propiedad que coincide con un argumento de constructor único.Arguments: A string that specifies the name of the property that matches a single constructor argument.

ConstructorArgumentAttribute Especifica que un objeto se puede inicializar usando una sintaxis de constructor sin parámetros y que una propiedad del nombre especificado proporciona información de construcción.ConstructorArgumentAttribute specifies that an object can be initialized by using a non-parameterless constructor syntax, and that a property of the specified name supplies construction information. Esta información sirve principalmente para la serialización XAML.This information is primarily for XAML serialization. Para obtener más información, vea ConstructorArgumentAttribute.For more information, see ConstructorArgumentAttribute.

ContentPropertyAttributeContentPropertyAttribute

Documentación de referencia: ContentPropertyAttributeReference Documentation: ContentPropertyAttribute

Se aplica a: LasApplies to: Class

Argumentos: Cadena que especifica el nombre de un miembro del tipo con atributos.Arguments: A string that specifies the name of a member of the attributed type.

ContentPropertyAttribute indica que la propiedad con el nombre del argumento debe servir como la propiedad de contenido XAML para ese tipo.ContentPropertyAttribute indicates that the property as named by the argument should serve as the XAML content property for that type. La definición de la propiedad de contenido XAML hereda de todos los tipos derivados que se pueden asignar al tipo de definición.The XAML content property definition inherits to all derived types that are assignable to the defining type. Puede invalidar la definición en un tipo derivado específico aplicando ContentPropertyAttribute en el tipo derivado específico.You can override the definition on a specific derived type by applying ContentPropertyAttribute on the specific derived type.

En el caso de la propiedad que actúa como la propiedad de contenido XAML, el etiquetado de elementos de propiedad de la propiedad se puede omitir en el uso de XAML.For the property that serves as the XAML content property, property element tagging for the property can be omitted in the XAML usage. Normalmente, se designan propiedades de contenido XAML que promueven un marcado XAML simplificado para los modelos de contenido y de contención.Typically, you designate XAML content properties that promote a streamlined XAML markup for your content and containment models. Dado que solo se puede designar un miembro como la propiedad de contenido XAML, a veces tiene que elegir las opciones de diseño para la que se deben designar varias propiedades de contenedor de un tipo como la propiedad de contenido XAML.Because only one member can be designated as the XAML content property, you sometimes have design choices to make regarding which of several container properties of a type should be designated as the XAML content property. Las demás propiedades del contenedor deben usarse con elementos de propiedad explícitos.The other container properties must be used with explicit property elements.

En el flujo de nodo XAML, las propiedades de contenido XAML siguen produciendo StartMember EndMember nodos y, utilizando el nombre de la propiedad para XamlMember .In the XAML node stream, XAML content properties still produce StartMember and EndMember nodes, using the name of the property for the XamlMember. Para determinar si un miembro es la propiedad de contenido XAML, examine el XamlType valor de la StartObject posición y obtenga el valor de ContentProperty .To determine whether a member is the XAML content property, examine the XamlType value from the StartObject position and obtain the value of ContentProperty.

ContentWrapperAttributeContentWrapperAttribute

Documentación de referencia: ContentWrapperAttributeReference Documentation: ContentWrapperAttribute

Se aplica a: Clase, específicamente tipos de colección.Applies to: Class, specifically collection types.

Argumentos: Type Que especifica el tipo que se va a usar como tipo de contenedor de contenido para el contenido externo.Arguments: A Type that specifies the type to use as the content wrapper type for foreign content.

ContentWrapperAttribute especifica uno o más tipos en el tipo de colección asociado que se usará para encapsular el contenido externo.ContentWrapperAttribute specifies one or more types on the associated collection type that will be used to wrap foreign content. El contenido externo hace referencia a los casos en los que las restricciones del sistema de tipos en el tipo de la propiedad de contenido no capturan todos los casos de contenido posibles que el uso de XAML para el tipo propietario admita.Foreign content refers to cases where the type system constraints on the type of the content property do not capture all of the possible content cases that XAML usage for the owning type would support. Por ejemplo, la compatibilidad con XAML para el contenido de un tipo determinado podría admitir cadenas en un genérico fuertemente tipado Collection<T> .For example, XAML support for content of a particular type might support strings in a strongly typed generic Collection<T>. Los contenedores de contenido son útiles para migrar convenciones de marcado preexistentes a la concepción de XAML de valores asignables para colecciones, como la migración de modelos de contenido relacionados con texto.Content wrappers are useful for migrating pre-existing markup conventions into XAML's conception of assignable values for collections, such as migrating text-related content models.

Para especificar más de un tipo de contenedor de contenido, aplique varias veces el atributo.To specify more than one content wrapper type, apply the attribute multiple times.

DependsOnAttributeDependsOnAttribute

Documentación de referencia: DependsOnAttributeReference Documentation: DependsOnAttribute

Se aplica a: PropiedadApplies to: Property

Argumentos: Cadena que especifica el nombre de otro miembro del tipo con atributos.Arguments: A string that specifies the name of another member of the attributed type.

DependsOnAttribute indica que la propiedad con atributos depende del valor de otra propiedad.DependsOnAttribute indicates that the attributed property depends on the value of another property. Aplicar este atributo a una definición de propiedad garantiza que las propiedades dependientes se procesan en primer lugar en la escritura de objetos XAML.Applying this attribute to a property definition ensures that the dependent properties are processed first in XAML object writing. Los usos de DependsOnAttribute especifican los casos excepcionales de propiedades en tipos en los que se debe seguir un orden específico de análisis para la creación de objetos válidos.Usages of DependsOnAttribute specify the exceptional cases of properties on types where a specific order of parsing must be followed for valid object creation.

Puede aplicar varios DependsOnAttribute casos a una definición de propiedad.You can apply multiple DependsOnAttribute cases to a property definition.

MarkupExtensionReturnTypeAttributeMarkupExtensionReturnTypeAttribute

Documentación de referencia: MarkupExtensionReturnTypeAttributeReference Documentation: MarkupExtensionReturnTypeAttribute

Se aplica a: Clase, que se espera que sea un MarkupExtension tipo derivado.Applies to: Class, which is expected to be a MarkupExtension derived type.

Argumentos: Type Que especifica el tipo más preciso que se va a esperar como ProvideValue resultado del atributo MarkupExtension .Arguments: A Type that specifies the most precise type to expect as the ProvideValue result of the attributed MarkupExtension.

Para obtener más información, vea información general sobre las extensiones de marcado para XAML.For more information, see Markup Extensions for XAML Overview.

NameScopePropertyAttributeNameScopePropertyAttribute

Documentación de referencia: NameScopePropertyAttributeReference Documentation: NameScopePropertyAttribute

Se aplica a: LasApplies to: Class

Argumentos: Admite dos formas de atribución:Arguments: Supports two forms of attribution:

  • Cadena que especifica el nombre de una propiedad en el tipo con atributos.A string that specifies the name of a property on the attributed type.

  • Una cadena que especifica el nombre de una propiedad y un Type para el tipo que define la propiedad con nombre.A string that specifies the name of a property, and a Type for the type that defines the named property. Este formulario consiste en especificar un miembro adjuntable como la propiedad del ámbito de nombres XAML.This form is for specifying an attachable member as the XAML namescope property.

NameScopePropertyAttribute especifica una propiedad que proporciona el valor de ámbito de nombres XAML para la clase con atributos.NameScopePropertyAttribute specifies a property that provides the XAML namescope value for the attributed class. Se espera que la propiedad de ámbito de nombres XAML haga referencia a un objeto que implementa INameScope y contiene el ámbito de nombres XAML real, su almacén y su comportamiento.The XAML namescope property is expected to reference an object that implements INameScope and holds the actual XAML namescope, its store, and its behavior.

RuntimeNamePropertyAttributeRuntimeNamePropertyAttribute

Documentación de referencia: RuntimeNamePropertyAttributeReference Documentation: RuntimeNamePropertyAttribute

Se aplica a: LasApplies to: Class

Argumentos: Cadena que especifica el nombre de la propiedad de nombre en tiempo de ejecución en el tipo con atributos.Arguments: A string that specifies the name of the run-time name property on the attributed type.

RuntimeNamePropertyAttribute notifica una propiedad del tipo con atributos que se asigna a la Directiva x:Namede XAML.RuntimeNamePropertyAttribute reports a property of the attributed type that maps to the XAML x:Name Directive. La propiedad debe ser de tipo String y debe ser de lectura/escritura.The property must be of type String and must be read/write.

La definición hereda a todos los tipos derivados que se pueden asignar al tipo de definición.The definition inherits to all derived types that are assignable to the defining type. Puede invalidar la definición en un tipo derivado específico aplicando RuntimeNamePropertyAttribute en el tipo derivado específico.You can override the definition on a specific derived type by applying RuntimeNamePropertyAttribute on the specific derived type.

TrimSurroundingWhitespaceAttributeTrimSurroundingWhitespaceAttribute

Documentación de referencia: TrimSurroundingWhitespaceAttributeReference Documentation: TrimSurroundingWhitespaceAttribute

Se aplica a: DistintosApplies to: Types

Argumentos: Ninguna.Arguments: None.

TrimSurroundingWhitespaceAttribute se aplica a tipos específicos que pueden aparecer como elementos secundarios dentro de contenido significativo de espacio en blanco (contenido mantenido por una colección que tiene WhitespaceSignificantCollectionAttribute ).TrimSurroundingWhitespaceAttribute is applied to specific types that might appear as child elements within white-space significant content (content held by a collection that has WhitespaceSignificantCollectionAttribute). TrimSurroundingWhitespaceAttribute está principalmente relacionado con la ruta de acceso de guardado, pero está disponible en el sistema de tipos XAML en la ruta de acceso de carga examinando XamlType.TrimSurroundingWhitespace .TrimSurroundingWhitespaceAttribute is mainly relevant to the save path, but is available in the XAML type system in the load path by examining XamlType.TrimSurroundingWhitespace. Para obtener más información, vea procesamiento de espacios en blanco en XAML.For more information, see White-space processing in XAML.

TypeConverterAttributeTypeConverterAttribute

Documentación de referencia: TypeConverterAttributeReference Documentation: TypeConverterAttribute

Se aplica a: Clase, propiedad, método (el único caso de método válido de XAML es un get descriptor de acceso que admite un miembro adjuntable).Applies to: Class, property, method (the only XAML-valid method case is a get accessor that supports an attachable member).

Argumentos: Type Del TypeConverter .Arguments: The Type of the TypeConverter.

TypeConverterAttribute en un contexto XAML hace referencia a un personalizado TypeConverter .TypeConverterAttribute in a XAML context references a custom TypeConverter. Esto TypeConverter proporciona el comportamiento de la conversión de tipos para los tipos personalizados o los miembros de ese tipo.This TypeConverter provides type conversion behavior for custom types, or members of that type.

Aplique el TypeConverterAttribute atributo al tipo, haciendo referencia a la implementación del convertidor de tipos.Apply the TypeConverterAttribute attribute to your type, referencing your type converter implementation. Puede definir convertidores de tipos para XAML en clases, estructuras o interfaces.You can define type converters for XAML on classes, structures, or interfaces. No es necesario proporcionar la conversión de tipos para las enumeraciones, la conversión se habilita de forma nativa.You do not need to provide type conversion for enumerations, that conversion is enabled natively.

El convertidor de tipos debe ser capaz de convertir de una cadena que se utiliza para los atributos o el texto de inicialización en el marcado, en el tipo de destino deseado.Your type converter should be able to convert from a string that is used for attributes or initialization text in markup, into your intended destination type. Para obtener más información, vea clases TypeConverter y XAML.For more information, see TypeConverters and XAML.

En lugar de aplicar a todos los valores de un tipo, un comportamiento del convertidor de tipos para XAML también se puede establecer en una propiedad concreta.Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. En este caso, se aplica TypeConverterAttribute a la definición de propiedad (la definición externa, no las get definiciones y especificadas set ).In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).

Un comportamiento del convertidor de tipos para el uso de XAML de un miembro adjuntable personalizado se puede asignar aplicando TypeConverterAttribute al get descriptor de acceso de método que admite el uso de XAML.A type converter behavior for XAML usage of a custom attachable member can be assigned by applying TypeConverterAttribute to the get method accessor that supports the XAML usage.

Similar a TypeConverter , TypeConverterAttribute existía en .net antes de la existencia de XAML y el modelo de convertidor de tipos ocupó otros propósitos.Similar to TypeConverter, TypeConverterAttribute existed in .NET prior to the existence of XAML, and the type converter model served other purposes. Para hacer referencia a ella y usarla TypeConverterAttribute , debe calificarla por completo o proporcionar una using instrucción para System.ComponentModel .In order to reference and use TypeConverterAttribute, you must fully qualify it or provide a using statement for System.ComponentModel. Incluya también el ensamblado del sistema en el proyecto.Also include the System assembly in your project.

UidPropertyAttributeUidPropertyAttribute

Documentación de referencia: UidPropertyAttributeReference Documentation: UidPropertyAttribute

Se aplica a: LasApplies to: Class

Argumentos: Cadena que hace referencia a la propiedad pertinente por nombre.Arguments: A string that references the relevant property by name.

Indica la propiedad CLR de una clase que tiene un alias de la Directiva x:UID.Indicates the CLR property of a class that aliases the x:Uid Directive.

UsableDuringInitializationAttributeUsableDuringInitializationAttribute

Documentación de referencia: UsableDuringInitializationAttributeReference Documentation: UsableDuringInitializationAttribute

Se aplica a: LasApplies to: Class

Argumentos: Un valor booleano.Arguments: A Boolean. Si se utiliza para la finalidad prevista del atributo, el valor debe establecerse en true .If used for the attribute's intended purpose, the value should be set to true.

Indica si el tipo se compila de forma descendente durante la creación del gráfico de objetos XAML.Indicates whether the type is built top-down during XAML object graph creation. Se trata de un concepto avanzado, que probablemente esté estrechamente relacionado con la definición del modelo de programación.This is an advanced concept, which is probably closely related to the definition of your programming model. Para obtener más información, vea UsableDuringInitializationAttribute.For more information, see UsableDuringInitializationAttribute.

ValueSerializerAttributeValueSerializerAttribute

Documentación de referencia: ValueSerializerAttributeReference Documentation: ValueSerializerAttribute

Se aplica a: Clase, propiedad, método (el único caso de método válido de XAML es un get descriptor de acceso que admite un miembro adjuntable).Applies to: Class, property, method (the only XAML-valid method case is a get accessor that supports an attachable member).

Argumentos: Type Que especifica la clase de compatibilidad del serializador de valor que se va a utilizar al serializar todas las propiedades del tipo con atributos o la propiedad con atributos específica.Arguments: A Type that specifies the value serializer support class to use when serializing all properties of the attributed type, or the specific attributed property.

ValueSerializer especifica una clase de serialización de valor que requiere más estado y contexto que un TypeConverter .ValueSerializer specifies a value serialization class that requires more state and context than a TypeConverter does. ValueSerializer se puede asociar a un miembro adjuntable aplicando el ValueSerializerAttribute atributo en el get método de descriptor de acceso estático para el miembro que se puede adjuntar.ValueSerializer can be associated with an attachable member by applying the ValueSerializerAttribute attribute on the static get accessor method for the attachable member. La serialización de valor también es aplicable a las enumeraciones, interfaces y estructuras, pero no a los delegados.Value serialization is also applicable for enumerations, interfaces, and structures, but not for delegates.

WhitespaceSignificantCollectionAttributeWhitespaceSignificantCollectionAttribute

Documentación de referencia: WhitespaceSignificantCollectionAttributeReference Documentation: WhitespaceSignificantCollectionAttribute

Se aplica a: Clase, en concreto, los tipos de colección que se espera que hospeden contenido mixto, donde los espacios en blanco alrededor de los elementos de objeto podrían ser significativos para la representación de la interfaz de usuario.Applies to: Class, specifically collection types that are expected to host mixed content, where white space around object elements might be significant for UI representation.

Argumentos: Ninguna.Arguments: None.

WhitespaceSignificantCollectionAttribute indica que un procesador XAML debe procesar un tipo de colección como un espacio en blanco significativo, lo que influye en la construcción de los nodos de valor del flujo de nodo XAML dentro de la colección.WhitespaceSignificantCollectionAttribute indicates that a collection type should be processed as white-space significant by a XAML processor, which influences the construction of the XAML node stream's value nodes within the collection. Para obtener más información, vea procesamiento de espacios en blanco en XAML.For more information, see White-space processing in XAML.

XamlDeferLoadAttributeXamlDeferLoadAttribute

Documentación de referencia: XamlDeferLoadAttributeReference Documentation: XamlDeferLoadAttribute

Se aplica a: Clase, propiedad.Applies to: Class, property.

Argumentos: Admite dos tipos de formularios de atribución como cadenas, o tipos como Type .Arguments: Supports two attribution forms types as strings, or types as Type. Vea XamlDeferLoadAttribute.See XamlDeferLoadAttribute.

Indica que una clase o propiedad usa la carga aplazada para XAML (como el comportamiento de una plantilla) e informa de la clase que habilita el comportamiento de carga aplazada así como el tipo de contenido/destino.Indicates that a class or property has a deferred load usage for XAML (such as a template behavior), and reports the class that enables the deferring behavior and its destination/content type.

XamlSetMarkupExtensionAttributeXamlSetMarkupExtensionAttribute

Documentación de referencia: XamlSetMarkupExtensionAttributeReference Documentation: XamlSetMarkupExtensionAttribute

Se aplica a: LasApplies to: Class

Argumentos: Asigna un nombre a la devolución de llamada.Arguments: Names the callback.

Indica que una clase puede utilizar una extensión de marcado para proporcionar un valor para una o varias de sus propiedades y hace referencia a un controlador que un escritor de XAML debe llamar antes de realizar una operación de establecimiento de extensión de marcado en cualquier propiedad de la clase.Indicates that a class can use a markup extension to provide a value for one or more of its properties, and references a handler that a XAML writer should call before performing a markup extension set operation on any property of the class.

XamlSetTypeConverterAttributeXamlSetTypeConverterAttribute

Documentación de referencia: XamlSetTypeConverterAttributeReference Documentation: XamlSetTypeConverterAttribute

Se aplica a: LasApplies to: Class

Argumentos: Asigna un nombre a la devolución de llamada.Arguments: Names the callback.

Indica que una clase puede utilizar un convertidor de tipos para proporcionar un valor para una o varias de sus propiedades y hace referencia a un controlador que un escritor de XAML debe llamar antes de realizar una operación de conjunto de convertidores de tipos en cualquier propiedad de la clase.Indicates that a class can use a type converter to provide a value for one or more of its properties, and references a handler that a XAML writer should call before performing a type converter set operation on any property of the class.

XmlLangPropertyAttributeXmlLangPropertyAttribute

Documentación de referencia: XmlLangPropertyAttributeReference Documentation: XmlLangPropertyAttribute

Se aplica a: LasApplies to: Class

Argumentos: Cadena que especifica el nombre de la propiedad a la que se va a asignar xml:lang el alias en el tipo con atributos.Arguments: A string that specifies the name of the property to alias to xml:lang on the attributed type.

XmlLangPropertyAttribute notifica una propiedad del tipo con atributos que se asigna a la lang directiva XML.XmlLangPropertyAttribute reports a property of the attributed type that maps to the XML lang directive. La propiedad no tiene por qué ser de tipo String , pero debe poder asignarse desde una cadena (la asignación se puede realizar asociando un convertidor de tipos al tipo de la propiedad o con la propiedad específica).The property is not necessarily of type String but must be assignable from a string (assignment could be accomplished by associating a type converter with the property's type or with the specific property). La propiedad debe ser de lectura/escritura.The property must be read/write.

El escenario de asignación xml:lang es para que un modelo de objetos de tiempo de ejecución tenga acceso a la información de lenguaje especificada por XML sin procesarlo específicamente con un XMLDOM.The scenario for mapping xml:lang is so that a runtime object model has access to XML-specified language information without specifically processing with an XMLDOM.

La definición hereda a todos los tipos derivados que se pueden asignar al tipo de definición.The definition inherits to all derived types that are assignable to the defining type. Puede invalidar la definición en un tipo derivado específico aplicando XmlLangPropertyAttribute en el tipo derivado específico, aunque es un escenario poco frecuente.You can override the definition on a specific derived type by applying XmlLangPropertyAttribute on the specific derived type, although that is an uncommon scenario.

En las secciones siguientes se describen los atributos relacionados con XAML que no se aplican a los tipos o definiciones de miembros, sino que se aplican a los ensamblados.The following sections describe the XAML-related attributes that are not applied to types or member definitions, but are instead applied to assemblies. Estos atributos son pertinentes para el objetivo general de definir una biblioteca que contenga los tipos personalizados que se van a usar en XAML.These attributes are pertinent to the overall goal of defining a library that contains custom types to use in XAML. Algunos de los atributos no influyen necesariamente directamente en el flujo de nodo XAML, sino que se pasan en el flujo de nodo para que los usen otros consumidores.Some of the attributes do not necessarily influence the XAML node stream directly, but are passed on in the node stream for other consumers to use. Los consumidores de la información incluyen entornos de diseño o procesos de serialización que necesitan información de espacio de nombres XAML e información de prefijos asociada.Consumers for the information include design environments or serialization processes that need XAML namespace information and associated prefix information. Un contexto de esquema XAML (incluido el valor predeterminado de los servicios XAML de .NET) también usa esta información.A XAML schema context (including the .NET XAML Services default) also uses this information.

XmlnsCompatibleWithAttributeXmlnsCompatibleWithAttribute

Documentación de referencia: XmlnsCompatibleWithAttributeReference Documentation: XmlnsCompatibleWithAttribute

Argumentos:Arguments:

  • Cadena que especifica el identificador del espacio de nombres XAML que se va a abarcar.A string that specifies the identifier of the XAML namespace to subsume.

  • Una cadena que especifica el identificador del espacio de nombres XAML que puede abarcar el espacio de nombres XAML del argumento anterior.A string that specifies the identifier of the XAML namespace that can subsume the XAML namespace from the previous argument.

    XmlnsCompatibleWithAttribute Especifica que otro espacio de nombres XAML puede incluir un espacio de nombres XAML.XmlnsCompatibleWithAttribute specifies that a XAML namespace can be subsumed by another XAML namespace. Normalmente, el espacio de nombres XAML que realiza la inclusión se indica en un objeto XmlnsDefinitionAttribute definido anteriormente.Typically, the subsuming XAML namespace is indicated in a previously defined XmlnsDefinitionAttribute. Esta técnica se puede usar para el control de versiones de un vocabulario XAML en una biblioteca y para que sea compatible con el marcado previamente definido en el vocabulario con versiones anteriores.This technique can be used for versioning a XAML vocabulary in a library and to make it compatible with previously defined markup against the earlier versioned vocabulary.

XmlnsDefinitionAttributeXmlnsDefinitionAttribute

Documentación de referencia: XmlnsDefinitionAttributeReference Documentation: XmlnsDefinitionAttribute

Argumentos:Arguments:

  • Cadena que especifica el identificador del espacio de nombres XAML que se va a definir.A string that specifies the identifier of the XAML namespace to define.

  • Una cadena que asigna un nombre a un espacio de nombres CLR.A string that names a CLR namespace. El espacio de nombres CLR debe definir tipos públicos en el ensamblado y, al menos, uno de los tipos de espacio de nombres CLR debe estar pensado para el uso de XAML.The CLR namespace should define public types in your assembly, and at least one of the CLR namespace types should be intended for XAML usage.

    XmlnsDefinitionAttribute especifica una asignación por cada ensamblado entre un espacio de nombres XAML y un espacio de nombres CLR, que un escritor de objetos XAML o un contexto de esquema XAML usan para la resolución de tipos.XmlnsDefinitionAttribute specifies a mapping on a per-assembly basis between a XAML namespace and a CLR namespace, which is then used for type resolution by a XAML object writer or XAML schema context.

    XmlnsDefinitionAttributeSe puede aplicar más de una a un ensamblado.More than one XmlnsDefinitionAttribute can be applied to an assembly. Esto puede hacerse por cualquier combinación de las siguientes razones:This might be done for any combination of the following reasons:

  • El diseño de la biblioteca contiene varios espacios de nombres CLR para la organización lógica del acceso de API en tiempo de ejecución. sin embargo, desea que todos los tipos de esos espacios de nombres puedan usarse en XAML haciendo referencia al mismo espacio de nombres XAML.The library design contains multiple CLR namespaces for logical organization of run-time API access; however, you want all types in those namespaces to be XAML-usable by referencing the same XAML namespace. En este caso, se aplican varios XmlnsDefinitionAttribute atributos con el mismo XmlNamespace valor pero con ClrNamespace valores distintos.In this case, you apply several XmlnsDefinitionAttribute attributes using the same XmlNamespace value but different ClrNamespace values. Esto es especialmente útil si está definiendo asignaciones para el espacio de nombres XAML que el marco o la aplicación pretende que sea el espacio de nombres XAML predeterminado en el uso común.This is especially useful if you are defining mappings for the XAML namespace that your framework or application intends to be the default XAML namespace in common usage.

  • El diseño de la biblioteca contiene varios espacios de nombres CLR y desea una separación deliberada del espacio de nombres XAML entre los usos de los tipos de esos espacios de nombres CLR.The library design contains multiple CLR namespaces, and you want a deliberate XAML namespace separation between the usages of types in those CLR namespaces.

  • Se define un espacio de nombres CLR en el ensamblado y se desea que sea accesible a través de más de un espacio de nombres XAML.You define a CLR namespace in the assembly, and you want it to be accessible through more than one XAML namespace. Este escenario se produce cuando se admiten varios vocabularios con el mismo código base.This scenario occurs when you are supporting multiple vocabularies with the same codebase.

  • La compatibilidad con el lenguaje XAML se define en uno o varios espacios de nombres CLR.You define XAML language support in one or more CLR namespaces. En este caso, el XmlNamespace valor debe ser http://schemas.microsoft.com/winfx/2006/xaml .In this case, the XmlNamespace value should be http://schemas.microsoft.com/winfx/2006/xaml.

XmlnsPrefixAttributeXmlnsPrefixAttribute

Documentación de referencia: XmlnsPrefixAttributeReference Documentation: XmlnsPrefixAttribute

Argumentos:Arguments:

  • Cadena que especifica el identificador de un espacio de nombres XAML.A string that specifies the identifier of a XAML namespace.

  • Cadena que especifica un prefijo recomendado.A string that specifies a recommended prefix.

    XmlnsDefinitionAttribute especifica un prefijo recomendado que se va a usar para un espacio de nombres XAML.XmlnsDefinitionAttribute specifies a recommended prefix to use for a XAML namespace. El prefijo es útil cuando se escriben elementos y atributos en un archivo XAML serializado por los servicios XAML de .NET XamlXmlWriter o cuando una biblioteca de implementación de XAML interactúa con un entorno de diseño que tiene características de edición de XAML.The prefix is useful when writing elements and attributes in a XAML file that is serialized by .NET XAML Services XamlXmlWriter, or when a XAML-implementing library interacts with a design environment that has XAML editing features.

    XmlnsPrefixAttributeSe puede aplicar más de una a un ensamblado.More than one XmlnsPrefixAttribute can be applied to an assembly. Esto puede hacerse por cualquier combinación de las siguientes razones:This might be done for any combination of the following reasons:

  • El ensamblado define tipos para más de un espacio de nombres XAML.Your assembly defines types for more than one XAML namespace. En este caso, defina diferentes valores de prefijo para cada espacio de nombres XAML.In this case, define different prefix values for each XAML namespace.

  • Se admiten varios vocabularios y se usan prefijos diferentes para cada vocabulario y espacio de nombres XAML.You are supporting multiple vocabularies, and you use different prefixes for each vocabulary and XAML namespace.

  • Puede definir la compatibilidad del lenguaje XAML en el ensamblado y tener un XmlnsDefinitionAttribute para http://schemas.microsoft.com/winfx/2006/xaml .You define XAML language support in the assembly and have a XmlnsDefinitionAttribute for http://schemas.microsoft.com/winfx/2006/xaml. En este caso, normalmente debe promover el prefijo x .In this case, you typically should promote the prefix x.

Nota

Los servicios XAML de .NET también definen el atributo relacionado con XAML RootNamespaceAttribute ..NET XAML Services also defines the XAML-related attribute RootNamespaceAttribute. Este atributo es un atributo de nivel de ensamblado para la compatibilidad del sistema del proyecto y no es relevante para los tipos personalizados de XAML.This attribute is an assembly-level attribute for project system support, and it is not relevant for XAML custom types.

Vea tambiénSee also