Ler em inglês

Compartilhar via


DependencyPropertyKey.DependencyProperty Propriedade

Definição

Obtém o identificador de propriedade de dependência associado a esse identificador de propriedade de dependência somente leitura especializado.

C#
public System.Windows.DependencyProperty DependencyProperty { get; }

Valor da propriedade

O identificador de propriedade de dependência relevante.

Exemplos

O exemplo a seguir chama DependencyProperty para expor o identificador de DependencyProperty (AquariumGraphicProperty) para a propriedade de dependência somente leitura AquariumGraphic em uma classe. O exemplo também mostra a criação de DependencyPropertyKey (como membro interno) e o acessador get para AquariumGraphic.

C#
internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  "AquariumSize",
  typeof(double),
  typeof(Aquarium),
  new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
  AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
  get { return (double)GetValue(AquariumSizeProperty); }
}

Comentários

O valor DependencyProperty permite que o identificador de uma propriedade somente leitura participe de operações comuns do sistema de propriedades usando algumas das mesmas interfaces usadas para propriedades de dependência de leitura/gravação.

Para implementar o acessador de propriedade get para uma propriedade de dependência somente leitura, você deve criar e expor um identificador de DependencyProperty em sua classe. Isso serve a duas finalidades:

  • Sua própria classe precisa do identificador de DependencyProperty para implementar o acessador get para o wrapper de propriedade. Use o DependencyProperty como um parâmetro para a chamada GetValue que implementa o acessador get.

  • DependencyProperty identificadores expõem sua propriedade de dependência ao sistema de propriedades de modo que outros métodos que dependem de metadados possam acessá-la em um formulário padrão. Por exemplo, se você chamou GetLocalValueEnumerator em algum DependencyObject e obteve uma enumeração de propriedades definidas localmente (valores e identificadores), o identificador retornado para uma propriedade de dependência somente leitura seria seu valor DependencyProperty em vez da chave. Não expor um identificador de DependencyProperty não aumenta a segurança da propriedade de dependência somente leitura de forma alguma, isso apenas torna as operações que envolvem sua propriedade mais estranhas tanto para classes derivadas subsequentes quanto para instâncias de classe.

Para expor o identificador de DependencyProperty em sua classe, você chama DependencyProperty diretamente em sua chave. Use esse valor para criar um identificador de public static readonlyDependencyProperty na classe, que é paralelo ao DependencyPropertyKey.

Aplica-se a

Produto Versões
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Confira também