DependencyProperty Classe

Definição

Representa uma propriedade que pode ser definida através de métodos como styling, data binding, 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

Observações

Um DependencyProperty suporta as seguintes capacidades em Windows Presentation Foundation (WPF):

  • A propriedade pode ser montada num estilo. Para obter mais informações, consulte Styling and Templating.

  • A propriedade pode ser definida através da ligação de dados. Para mais informações sobre propriedades de dependência de ligação de dados, veja Como: Vincular as Propriedades de Dois Controlos.

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

  • A propriedade pode herdar automaticamente o seu valor de um elemento pai na árvore de elementos. Para 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 reportar quando o valor anterior da propriedade foi alterado e o valor do imóvel pode ser coagido. Para mais informações, consulte Callbacks e Validação de Propriedades de Dependência.

  • A propriedade reporta informações ao WPF, como se alterar o valor de uma propriedade deveria exigir que o sistema de layout recompuma os visuais de um elemento.

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

Para saber mais sobre propriedades de dependência, consulte Visão Geral das Propriedades de Dependência. Se quiser que propriedades nos seus tipos personalizados suportem as capacidades da lista anterior, deve criar uma propriedade de dependência. Para aprender a criar propriedades de dependência personalizadas, consulte Propriedades de Dependência Personalizadas.

Uma propriedade anexada é uma propriedade que permite a qualquer objeto reportar informação ao tipo que define a propriedade anexada. Em WPF, qualquer tipo que herde de DependencyObject pode usar uma propriedade anexada independentemente de o tipo herdar ou não do tipo que define a propriedade. Uma propriedade anexada é uma característica da linguagem XAML. Para definir uma propriedade anexa em XAML, use o ownerType. sintaxe propertyName . Um exemplo de propriedade anexada é a DockPanel.Dock propriedade. Se quiser criar uma propriedade que possa ser usada em todos DependencyObject os tipos, então deve criar uma propriedade anexada. Para saber mais sobre propriedades anexadas, incluindo como as criar, consulte Visão Geral das Propriedades Anexadas.

Uso de atributos XAML

<object property="dependencyPropertyName"/>

-ou-

<object property="ownerType.dependencyPropertyName"/>

-ou-

<object property="attachedPropertyOwnerType.attachedPropertyName"/>

Valores XAML

dependencyPropertyName Uma cadeia que especifica o DependencyProperty.Name da propriedade de dependência desejada. Isto pode ser precedido por um prefixo de espaço de nomes XML se a propriedade não estiver no espaço de nomes XML por defeito (para mais detalhes, veja XAML Namespaces and Namespace Mapping para WPF XAML.)

ownerType. dependencyPropertyName Uma cadeia que especifica um tipo de proprietário de uma propriedade de dependência, um ponto (.), depois o DependencyProperty.Name. ownerType pode também ser precedido por um prefixo de espaço de nomes XML. Esta utilização é particular a estilos e templates de limite tardio, onde o proprietário da propriedade de dependência deve ser especificado para o contexto de análise porque o TargetType ainda não é conhecido. Para obter mais informações, consulte Styling and Templating.

attachedPropertyOwnerType .attachedPropertyName Uma cadeia que especifica o proprietário de uma propriedade anexa, um ponto (.), e depois o nome da propriedade anexada. attachedPropertyOwnerType pode também ser precedido por um prefixo de espaço de nomes XML.

Campos

Name Description
UnsetValue

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

Propriedades

Name Description
DefaultMetadata

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

GlobalIndex

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

Name

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

OwnerType

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

PropertyType

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

ReadOnly

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

ValidateValueCallback

Recebe o callback de validação de valor para a propriedade de dependência.

Métodos

Name Description
AddOwner(Type, PropertyMetadata)

Adiciona outro tipo como proprietário de uma propriedade de dependência que já foi registada, fornecendo metadados da propriedade de dependência para a propriedade de dependência conforme esta existirá no tipo de proprietário fornecido.

AddOwner(Type)

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

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Devolve um código de hash para este DependencyProperty.

GetMetadata(DependencyObject)

Devolve os metadados desta propriedade de dependência tal como existem na instância do objeto especificada.

GetMetadata(DependencyObjectType)

Devolve os metadados desta propriedade de dependência tal como existem num tipo especificado.

GetMetadata(Type)

Devolve os metadados desta propriedade de dependência tal como existem num 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 dependente, conforme verificado em relação ao tipo de propriedade fornecido no registo original da propriedade dependente.

IsValidValue(Object)

Determina se o valor fornecido é aceite para o tipo de propriedade através de verificação básica de tipos, e também potencialmente se está dentro do intervalo permitido de valores para esse tipo.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

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

Fornece metadados alternativos para uma propriedade de dependência somente de leitura quando está presente em instâncias de um tipo especificado, sobrepondo-se aos metadados fornecidos no registo inicial da propriedade de dependência. Deve passar o DependencyPropertyKey para a propriedade de dependência apenas de leitura para evitar criar uma exceção.

OverrideMetadata(Type, PropertyMetadata)

Especifica metadados alternativos para esta propriedade de dependência quando está presente em instâncias de um tipo especificado, sobrepondo-se aos metadados existentes para a propriedade de dependência à medida que foi herdada dos tipos base.

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

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

Register(String, Type, Type, PropertyMetadata)

Regista uma propriedade de dependência com o nome da propriedade especificado, tipo de propriedade, tipo de proprietário e metadados da propriedade.

Register(String, Type, Type)

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

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

Regista uma propriedade anexada com o tipo de propriedade especificado, tipo de proprietário, metadados da propriedade e callback de validação de valor para a propriedade.

RegisterAttached(String, Type, Type, PropertyMetadata)

Regista uma propriedade anexada com o nome especificado, tipo de propriedade, tipo de proprietário e metadados da propriedade.

RegisterAttached(String, Type, Type)

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

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

Regista uma propriedade associada apenas de leitura, com o tipo de propriedade especificado, tipo de proprietário, metadados de propriedade e um callback de validação.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Regista uma propriedade associada apenas de leitura, com o tipo de propriedade especificado, tipo de proprietário e metadados da propriedade.

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

Regista uma propriedade de dependência apenas de leitura, com o tipo de propriedade especificado, tipo de proprietário, metadados de propriedade e um callback de validação.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Regista uma propriedade de dependência apenas de leitura, com o tipo de propriedade especificado, o tipo de proprietário e os metadados da propriedade.

ToString()

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

Aplica-se a

Ver também