ContentPropertyAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Indica qual propriedade de um tipo é a propriedade de conteúdo XAML. Um processador XAML usa essas informações durante o processamento de elementos filho 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 a seguir cria uma classe chamada Film
que tem um ContentPropertyAttribute aplicado. A propriedade nomeada Title
é indicada como a 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
Comentários
Se a propriedade associada de um ContentPropertyAttribute não for do tipo string
ou object
, um processador XAML tentará identificar uma técnica de conversão de valor. A primeira marcar é para conversão de tipo nativo, seja de primitivos da linguagem XAML ou de conversões nativas específicas habilitadas por essa implementação específica do gravador XAML. A próxima etapa é procurar um conversor de tipo. Nas implementações do .NET, um conversor de tipo é identificado com base no nível de membro ou na TypeConverterAttribute definição de nível de tipo que se aplica. Se nenhuma conversão de valor puder ser identificada, um gravador de objeto XAML normalmente gerará uma exceção.
Para aceitar mais de um único elemento de objeto como conteúdo, o tipo da propriedade de conteúdo XAML deve ser compatível como um 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 também. A aplicação de uma classe vazia ContentPropertyAttribute permite que uma classe derivada remova uma declaração de um atributo de propriedade de conteúdo por uma classe base (e observe que a classe não tem nenhuma propriedade de conteúdo). A aplicação de um nome diferente ContentPropertyAttribute substitui o herdado ContentPropertyAttribute pelo novo.
Em versões anteriores do .NET Framework, essa classe existia no assembly específico do WPF WindowsBase e também tinha uma implementação paralela no WCF (Windows Communication Foundation). A partir do .NET Framework 4.0, ContentPropertyAttribute está no assembly System.Xaml. Para obter mais informações, consulte Tipos migrados do 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 Button classe herda. A ContentControl.Content propriedade é a propriedade de conteúdo definida pelo ContentPropertyAttribute. Se um Button for instanciado em XAML, o ContentButton do será definido como o elemento que está entre as marcas de botão iniciar e terminar.
Construtores
ContentPropertyAttribute() |
Inicializa uma nova instância da classe ContentPropertyAttribute. |
ContentPropertyAttribute(String) |
Inicializa uma nova instância da classe ContentPropertyAttribute, usando o nome especificado. |
Propriedades
Name |
Obtém o nome da propriedade que é a propriedade de conteúdo. |
TypeId |
Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute) |
Métodos
Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
GetHashCode() |
Retorna o código hash para a instância. (Herdado de Attribute) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
IsDefaultAttribute() |
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
Match(Object) |
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |