DependencyPropertyKey.DependencyProperty Propriedade

Definição

Obtém o identificador de propriedade de dependência associado a este 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 DependencyProperty identificador (AquariumGraphicProperty) para a AquariumGraphic propriedade de dependência somente leitura em uma classe. O exemplo também mostra a DependencyPropertyKey criação (como um 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 DependencyProperty valor 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 DependencyProperty identificador em sua classe. Isso atende a duas finalidades:

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

  • DependencyProperty os 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 de forma padrão. Por exemplo, se você chamou GetLocalValueEnumerator alguns 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 DependencyProperty valor em vez da chave. Não expor um DependencyProperty identificador não aumenta a segurança de sua propriedade de dependência somente leitura de forma alguma, apenas torna as operações que envolvem sua propriedade mais embaraçosas tanto para classes derivadas subsequentes quanto para instâncias de classe.

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

Aplica-se a

Confira também