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.

public:
 property System::Windows::DependencyProperty ^ DependencyProperty { System::Windows::DependencyProperty ^ get(); };
public System.Windows.DependencyProperty DependencyProperty { get; }
member this.DependencyProperty : System.Windows.DependencyProperty
Public ReadOnly Property DependencyProperty As DependencyProperty

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.

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); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
    Get
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property

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

Confira também