Compartilhar via


DependencyProperty Classe

Definição

Representa uma propriedade que pode ser definida por meio de métodos como estilo, associação de dados, animação e herança.

public ref class DependencyProperty sealed
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
Public NotInheritable Class DependencyProperty
Herança
DependencyProperty
Atributos

Comentários

Um DependencyProperty dá suporte aos seguintes recursos no WPF (Windows Presentation Foundation):

  • A propriedade pode ser definida em um estilo. Para obter mais informações, consulte Estilo e Modelagem.

  • A propriedade pode ser definida por meio da associação de dados. Para obter mais informações sobre propriedades de dependência de associação de dados, consulte Como associar as propriedades de dois controles.

  • A propriedade pode ser definida com uma referência de recurso dinâmico. Para obter mais informações, consulte Recursos XAML.

  • A propriedade pode herdar seu valor automaticamente de um elemento pai na árvore de elementos. Para obter mais informações, consulte Herança do Valor da Propriedade.

  • A propriedade pode ser animada. Para obter mais informações, consulte Visão geral da animação.

  • A propriedade pode relatar quando o valor anterior da propriedade foi alterado e o valor da propriedade pode ser coagido. Para obter mais informações, consulte Retornos de chamada e validação da propriedade dependency.

  • A propriedade relata informações ao WPF, como se alterar um valor de propriedade deve exigir que o sistema de layout recompose os visuais de um elemento.

  • A propriedade recebe suporte no Designer do WPF para Visual Studio. Por exemplo, a propriedade pode ser editada na janela Propriedades .

Para saber mais sobre as propriedades de dependência, consulte a Visão geral das propriedades de dependência. Se você quiser que as propriedades em seus tipos personalizados ofereçam suporte aos recursos na lista anterior, crie uma propriedade de dependência. Para saber como criar propriedades de dependência personalizadas, consulte Propriedades de Dependência Personalizadas.

Uma propriedade anexada é uma propriedade que permite que qualquer objeto relate informações ao tipo que define a propriedade anexada. No WPF, qualquer tipo que herda DependencyObject pode usar uma propriedade anexada, independentemente de o tipo herdar do tipo que define a propriedade. Uma propriedade anexada é um recurso da linguagem XAML. Para definir uma propriedade anexada em XAML, use o ownerType. sintaxe propertyName . Um exemplo de uma propriedade anexada é a DockPanel.Dock propriedade. Se você quiser criar uma propriedade que possa ser usada em todos os DependencyObject tipos, crie uma propriedade anexada. Para saber mais sobre propriedades anexadas, incluindo como criá-las, consulte Visão geral de propriedades anexadas.

Uso do atributo XAML

<object property="dependencyPropertyName"/>

-ou-

<object property="ownerType.dependencyPropertyName"/>

-ou-

<object property="attachedPropertyOwnerType.attachedPropertyName"/>

Valores XAML

dependencyPropertyName Uma cadeia de caracteres que especifica a DependencyProperty.Name propriedade de dependência desejada. Isso poderá ser precedido por um prefixo de namespace XML se a propriedade não estiver no namespace XML padrão (para obter detalhes, consulte Namespaces XAML e Mapeamento de Namespace para WPF XAML.)

ownerType. dependencyPropertyName Uma cadeia de caracteres que especifica um tipo de proprietário de uma propriedade de dependência, um ponto (.), em seguida, o DependencyProperty.Name. ownerType também pode ser precedido por um prefixo de namespace XML. Esse uso é particular para modelos e estilos de associação tardia, em que o proprietário da propriedade de dependência deve ser especificado para analisar o contexto porque o TargetType ainda não é conhecido. Para obter mais informações, consulte Estilo e Modelagem.

attachedPropertyOwnerType .attachedPropertyName Uma cadeia de caracteres que especifica o proprietário de uma propriedade anexada, um ponto (.), em seguida, o nome da propriedade anexada. attachedPropertyOwnerType também pode ser precedido por um prefixo de namespace XML.

Campos

Nome Description
UnsetValue

Especifica um valor estático que é usado pelo sistema de propriedades do WPF em vez de null indicar que a propriedade existe, mas não tem seu valor definido pelo sistema de propriedades.

Propriedades

Nome Description
DefaultMetadata

Obtém os metadados padrão da propriedade de dependência.

GlobalIndex

Obtém um valor gerado internamente que identifica exclusivamente a propriedade de dependência.

Name

Obtém o nome da propriedade de dependência.

OwnerType

Obtém o tipo do objeto que registrou a propriedade de dependência com o sistema de propriedades ou se adicionou como proprietário da propriedade.

PropertyType

Obtém o tipo que a propriedade de dependência usa para seu valor.

ReadOnly

Obtém um valor que indica se a propriedade de dependência identificada por essa DependencyProperty instância é uma propriedade de dependência somente leitura.

ValidateValueCallback

Obtém o retorno de chamada de validação de valor para a propriedade de dependência.

Métodos

Nome Description
AddOwner(Type, PropertyMetadata)

Adiciona outro tipo como proprietário de uma propriedade de dependência que já foi registrada, fornecendo metadados de propriedade de dependência para a propriedade de dependência, pois ela existirá no tipo de proprietário fornecido.

AddOwner(Type)

Adiciona outro tipo como proprietário de uma propriedade de dependência que já foi registrada.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Retorna um código hash para isso DependencyProperty.

GetMetadata(DependencyObject)

Retorna os metadados dessa propriedade de dependência como ela existe na instância de objeto especificada.

GetMetadata(DependencyObjectType)

Retorna os metadados dessa propriedade de dependência como ela existe em um tipo especificado.

GetMetadata(Type)

Retorna os metadados dessa propriedade de dependência como ela existe em um tipo existente especificado.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsValidType(Object)

Determina se um valor especificado é aceitável para o tipo dessa propriedade de dependência, conforme verificado em relação ao tipo de propriedade fornecido no registro da propriedade de dependência original.

IsValidValue(Object)

Determina se o valor fornecido é aceito para o tipo de propriedade por meio da verificação de tipo básico e, também, potencialmente, se ele está dentro do intervalo permitido de valores para esse tipo.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Fornece metadados alternativos para uma propriedade de dependência somente leitura quando ela está presente em instâncias de um tipo especificado, substituindo os metadados fornecidos no registro da propriedade de dependência inicial. Você deve passar a DependencyPropertyKey propriedade de dependência somente leitura para evitar a criação de uma exceção.

OverrideMetadata(Type, PropertyMetadata)

Especifica metadados alternativos para essa propriedade de dependência quando ela está presente em instâncias de um tipo especificado, substituindo os metadados que existiam para a propriedade de dependência, pois ela foi herdada de tipos base.

Register(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra uma propriedade de dependência com o nome da propriedade, o tipo de propriedade, o tipo de proprietário, os metadados de propriedade e um retorno de chamada de validação de valor especificado para a propriedade.

Register(String, Type, Type, PropertyMetadata)

Registra uma propriedade de dependência com o nome da propriedade, o tipo de propriedade, o tipo de proprietário e os metadados de propriedade especificados.

Register(String, Type, Type)

Registra uma propriedade de dependência com o nome da propriedade, o tipo de propriedade e o tipo de proprietário especificados.

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra uma propriedade anexada com o tipo de propriedade, o tipo de proprietário, os metadados de propriedade e o retorno de chamada de validação de valor especificados para a propriedade.

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra uma propriedade anexada com o nome da propriedade, o tipo de propriedade, o tipo de proprietário e os metadados de propriedade especificados.

RegisterAttached(String, Type, Type)

Registra uma propriedade anexada com o nome da propriedade, o tipo de propriedade e o tipo de proprietário especificados.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra uma propriedade anexada somente leitura, com o tipo de propriedade especificado, tipo de proprietário, metadados de propriedade e um retorno de chamada de validação.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Registra uma propriedade anexada somente leitura, com o tipo de propriedade, o tipo de proprietário e os metadados de propriedade especificados.

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra uma propriedade de dependência somente leitura, com o tipo de propriedade especificado, o tipo de proprietário, os metadados de propriedade e um retorno de chamada de validação.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Registra uma propriedade de dependência somente leitura, com o tipo de propriedade, o tipo de proprietário e os metadados de propriedade especificados.

ToString()

Retorna a representação de cadeia de caracteres da propriedade de dependência.

Aplica-se a

Confira também