ContentPropertyAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Indica qual a propriedade de um tipo que pertence à propriedade de conteúdo XAML. Um processador XAML utiliza esta informação ao processar elementos filhos XAML de representações XAML do tipo atribuído.
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
- Herança
- Atributos
Exemplos
O exemplo seguinte cria uma classe chamada Film que tem um ContentPropertyAttribute aplicado. A propriedade nomeada Title é indicada como propriedade de conteúdo.
[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
Observações
Se a propriedade associada de a ContentPropertyAttribute não for do tipo string ou object, um processador XAML tenta identificar uma técnica de conversão de valor. A primeira verificação é para conversão nativa de tipos, seja das primitivas da linguagem XAML ou de conversões nativas específicas possibilitadas por essa implementação específica do escritor XAML. O passo seguinte é procurar um conversor de tipos. Nas implementações .NET, um conversor de tipos é identificado com base em TypeConverterAttribute na definição ao nível do membro ou ao nível do tipo que se aplica. Se não for possível identificar conversão de valor, um escritor de objetos XAML normalmente lança uma exceção.
Para aceitar mais do que um elemento de objeto como conteúdo, o tipo da propriedade de conteúdo XAML deve ser suportável como tipo de coleção.
Devido à Inherited=true declaração do atributo, um valor para um ContentPropertyAttribute normalmente aplica uma designação de propriedade de conteúdo a todas as classes derivadas. Aplicar um vazio ContentPropertyAttribute permite a uma classe derivada remover uma declaração de um atributo de propriedade de conteúdo por uma classe base (e notar que a classe não tem propriedade de conteúdo). Aplicar um nome ContentPropertyAttribute diferente substitui o herdado ContentPropertyAttribute pelo novo.
Em versões anteriores do .NET Framework, esta classe existia no WindowsBase assembly específico para WPF, e também tinha uma implementação paralela no Windows Communication Foundation (WCF). A partir do .NET Framework 4.0, ContentPropertyAttribute está na assembly System.Xaml. Para mais informações, veja Tipos Migrados de WPF para System.Xaml.
Notas de uso do WPF
Um exemplo de uma classe em Windows Presentation Foundation (WPF) que usa o ContentPropertyAttribute é ContentControl, da qual a classe Button herda. A ContentControl.Content propriedade é a propriedade de conteúdo definida pelo ContentPropertyAttribute. Se a Button for instanciado em XAML, o Content de Button será definido como o elemento que está entre as etiquetas de botão de início e fim.
Construtores
| Name | Description |
|---|---|
| ContentPropertyAttribute() |
Inicializa uma nova instância da ContentPropertyAttribute classe. |
| ContentPropertyAttribute(String) |
Inicializa uma nova instância da ContentPropertyAttribute classe, usando o nome especificado. |
Propriedades
| Name | Description |
|---|---|
| Name |
Obtém o nome da propriedade que é a propriedade de conteúdo. |
| TypeId |
Quando implementado numa classe derivada, obtém um identificador único para esta Attribute. (Herdado de Attribute) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Devolve o código de hash para esta instância. (Herdado de Attribute) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |