ContentPropertyAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Indica qué propiedad de un tipo es la propiedad de contenido XAML. Un procesador XAML usa esta información al procesar elementos secundarios XAML de representaciones XAML del tipo con atributos.
public ref class ContentPropertyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)]
public sealed class ContentPropertyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)>]
type ContentPropertyAttribute = class
inherit Attribute
Public NotInheritable Class ContentPropertyAttribute
Inherits Attribute
- Herencia
- Atributos
Ejemplos
En el ejemplo siguiente se crea una clase denominada Film
que tiene aplicado.ContentPropertyAttribute La propiedad denominada Title
se indica como la propiedad content.
[ContentProperty("Title")]
public class Film
{
public Film()
{
}
public string Title
{
get { return _title; }
set { _title = value; }
}
private string _title;
}
<ContentProperty("Title")>
Public Class Film
Public Sub New()
End Sub
Public Property Title() As String
Get
Return _title
End Get
Set(ByVal value As String)
_title = value
End Set
End Property
Private _title As String
End Class
Comentarios
Si la propiedad asociada de un ContentPropertyAttribute no es de tipo string
o object
, un procesador XAML intenta identificar una técnica de conversión de valores. La primera comprobación es para la conversión de tipos nativos, ya sea de los primitivos del lenguaje XAML o de conversiones nativas específicas habilitadas por esa implementación concreta del escritor XAML. El siguiente paso es buscar un convertidor de tipos. En las implementaciones de .NET, se identifica un convertidor de tipos basado en TypeConverterAttribute la definición de nivel de miembro o de tipo que se aplica. Si no se puede identificar ninguna conversión de valor, un escritor de objetos XAML normalmente produce una excepción.
Para aceptar más de un único elemento de objeto como contenido, el tipo de la propiedad de contenido XAML debe ser compatible como un tipo de colección.
Debido a la Inherited=true
declaración del atributo , un valor para un normalmente ContentPropertyAttribute aplica una designación de propiedad de contenido a todas las clases derivadas. La aplicación de una clase vacía ContentPropertyAttribute permite que una clase derivada quite una declaración de un atributo de propiedad de contenido por una clase base (y tenga en cuenta que la clase no tiene ninguna propiedad de contenido). Al aplicar un nombre ContentPropertyAttribute diferente, se reemplaza el heredado ContentPropertyAttribute por el nuevo.
En versiones anteriores de .NET Framework, esta clase existía en el ensamblado específico de WPF WindowsBase y también tenía una implementación paralela en Windows Communication Foundation (WCF). A partir de .NET Framework 4.0, ContentPropertyAttribute se encuentra en el ensamblado System.Xaml. Para obtener más información, consulta Types Migrated from WPF to System.Xaml.
Notas de uso de WPF
Un ejemplo de una clase en Windows Presentation Foundation (WPF) que usa ContentPropertyAttribute es ContentControl, de la que hereda la Button clase . La ContentControl.Content propiedad es la propiedad de contenido establecida por .ContentPropertyAttribute Si se crea una Button instancia de en XAML, el Content de Button se establecerá en el elemento que se encuentra entre las etiquetas del botón de inicio y finalización.
Constructores
ContentPropertyAttribute() |
Inicializa una nueva instancia de la clase ContentPropertyAttribute. |
ContentPropertyAttribute(String) |
Inicializa una instancia nueva de la clase ContentPropertyAttribute con el nombre especificado. |
Propiedades
Name |
Obtiene el nombre de la propiedad de contenido. |
TypeId |
Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Heredado de Attribute) |
Métodos
Equals(Object) |
Devuelve un valor que indica si esta instancia es igual que un objeto especificado. (Heredado de Attribute) |
GetHashCode() |
Devuelve el código hash de esta instancia. (Heredado de Attribute) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
IsDefaultAttribute() |
Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada. (Heredado de Attribute) |
Match(Object) |
Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Heredado de Attribute) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Heredado de Attribute) |
_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. (Heredado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Heredado de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acceso a las propiedades y los métodos expuestos por un objeto. (Heredado de Attribute) |