DependencyPropertyKey.DependencyProperty Propriedade

Definição

Obtém o identificador de propriedade de dependência associado a este identificador especializado de propriedade de dependência de só leitura.

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 de Propriedade

O identificador relevante de propriedade de dependência.

Exemplos

O exemplo seguinte exige DependencyProperty expor o DependencyProperty identificador (AquariumGraphicProperty) da AquariumGraphic propriedade de dependência de apenas leitura numa classe. O exemplo também mostra a DependencyPropertyKey criação (como membro interno) e o acessório 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

Observações

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

Para implementar o acessório get property para uma propriedade de dependência apenas de leitura, deve criar e expor um DependencyProperty identificador na sua classe. Isto serve dois propósitos:

  • A sua própria classe precisa do DependencyProperty identificador para implementar o acessório get para o envelope de propriedades. Usas o DependencyProperty como parâmetro para a GetValue chamada que implementa o acessório get.

  • DependencyProperty Os identificadores expõem a sua propriedade de dependência ao sistema de propriedades, de modo que outros métodos que dependem de metadados possam aceder a ela numa forma padrão. Por exemplo, se chamar GetLocalValueEnumerator um algum DependencyObject e obtiver uma enumeração de propriedades localmente definidas (valores e identificadores), o identificador devolvido para uma propriedade de dependência de apenas leitura seria o seu DependencyProperty valor em vez da chave. Não expor um DependencyProperty identificador não aumenta de forma alguma a segurança da tua propriedade de dependência de apenas leitura, apenas torna as operações que envolvem a tua propriedade mais desconfortáveis tanto para classes derivadas subsequentes como para instâncias de classe.

Para expor o DependencyProperty identificador na sua turma, liga DependencyProperty diretamente pela sua chave. Use este valor para criar um public static readonlyDependencyProperty identificador na classe, que é paralelo ao DependencyPropertyKey.

Aplica-se a

Ver também