Partilhar 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 property value inheritance.

  • 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 callbacks de propriedade de dependência ede validação.

  • 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 do .

Para saber mais sobre as propriedades de dependência, consulte 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 de 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 propriedade DockPanel.Dock. Se você quiser criar uma propriedade que possa ser usada em todos os tipos de DependencyObject, 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 o DependencyProperty.Name da propriedade de dependência desejada. Isso pode 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 com limite tardio, 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

UnsetValue

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

Propriedades

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 instância DependencyProperty é 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

AddOwner(Type)

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

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.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Retorna um código hash para este 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)

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.

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 o DependencyPropertyKey para a propriedade de dependência somente leitura para evitar a criação de uma exceção.

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.

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, 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.

RegisterAttached(String, Type, Type)

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

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, 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.

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.

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.

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.

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.

ToString()

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

Aplica-se a

Confira também