DependencyProperty Classe

Definição

Representa uma propriedade que pode ser definida por meio de métodos como estilos, vinculaçã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 em Windows Presentation Foundation (WPF):

  • 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 a 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 da propriedade de dependência e validação.

  • A propriedade relata informações ao WPF, como se a alteração de um valor de propriedade deve exigir que o sistema de layout recomposifique 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 herdado 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 as propriedades anexadas, incluindo como criá-las, consulte a 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 aos estilos e modelos 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 WPF em vez de null 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 propriedade ou que adicionou a si próprio 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 do valor da propriedade de dependência.

Métodos

AddOwner(Type)

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

AddOwner(Type, PropertyMetadata)

Adiciona outro tipo como um 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 como ela existe no tipo do 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 para essa propriedade de dependência como ela existe na instância do objeto especificado.

GetMetadata(DependencyObjectType)

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

GetMetadata(Type)

Retorna os metadados para essa propriedade de dependência uma vez que 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 desta propriedade de dependência, conforme verificado em relação ao tipo de propriedade fornecido no registro de propriedade de dependência original.

IsValidValue(Object)

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

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OverrideMetadata(Type, PropertyMetadata)

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

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

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

Register(String, Type, Type)

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

Register(String, Type, Type, PropertyMetadata)

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

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

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

RegisterAttached(String, Type, Type)

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

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra uma propriedade anexada com o nome de propriedade, tipo de propriedade, tipo de proprietário e 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 da propriedade especificados.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

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

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

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

RegisterReadOnly(String, Type, Type, PropertyMetadata)

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

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

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

ToString()

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

Aplica-se a

Confira também