Compartilhar via


Como: Implement a Dependency Property

Este exemplo mostra como voltar uma propriedade common language runtime (CLR) com um campo DependencyProperty,definindo, portanto, uma dependency property. Quando você define suas próprias propriedades e deseja que elas ofereçam suporte a muitos aspectos da funcionalidade de Windows Presentation Foundation (WPF), incluindo estilos, associação de dados, herança, animação e os valores padrão, você deve implementá-las como um dependency property.

Exemplo

O exemplo a seguir registra pela primeira vez uma dependency property chamando o método Register. O nome do campo identificados que você usar para armazenar o nome e características da dependency property deve ser o Name que você escolheu para a propriedade de dependência como parte da chamada Register anexada pela sequência literal Property. Por exemplo, se você registrar uma propriedade de dependência com um Name de Location, então, o campo identificador que você definir para a propriedade de dependência deve ser nomeado LocationProperty.

Nesse exemplo, o nome da dependency property e seu ancestral de CLR é State; o campo identificador é StateProperty; o tipo da propriedade é Boolean;e o tipo que registra a dependency property é MyStateControl.

Se você não conseguir seguir esse padrão de nomeação, os designers podem não relatar sua propriedade corretamente, e determinados aspectos da aplicação de estilo do sistema de propriedades pode não se comportar conforme o esperado.

Você também pode especificar metadados padrão para uma dependency property. Este exemplo registra o valor padrão da State dependency property a ser false.

public class MyStateControl : ButtonBase
{
  public MyStateControl() : base() { }
  public Boolean State
  {
    get { return (Boolean)this.GetValue(StateProperty); }
    set { this.SetValue(StateProperty, value); } 
  }
  public static readonly DependencyProperty StateProperty = DependencyProperty.Register(
    "State", typeof(Boolean), typeof(MyStateControl),new PropertyMetadata(false));
}

For the complete sample, see Personalizar Classes com o exemplo de propriedades de dependência.

Para obter mais informações sobre como e por que implementar uma dependency property, em oposição a apenas fazer uma propriedade CLR com um campo particular, consulte Visão geral sobre propriedades de dependência.

Consulte também

Conceitos

Visão geral sobre propriedades de dependência

Outros recursos

Tópicos de Como Fazer sobre Propriedades

Exemplos de propriedades