ContentPropertyAttribute Classe

Definição

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

Aplica-se a

Ver também