DependencyPropertyKey.DependencyProperty Property

Definition

Obtém o identificador de propriedade de dependência associado a este identificador de propriedade de dependência somente leitura especializado.Gets the dependency property identifier associated with this specialized read-only dependency property identifier.

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

Property Value

DependencyProperty

O identificador de propriedade de dependência relevante.The relevant dependency property identifier.

Examples

O exemplo a seguir chama DependencyProperty para expor o identificador de DependencyProperty (AquariumGraphicProperty) para a propriedade de dependência de AquariumGraphic somente leitura em uma classe.The following example calls DependencyProperty to expose the DependencyProperty identifier (AquariumGraphicProperty) for the AquariumGraphic read-only dependency property on a class. O exemplo também mostra a criação de DependencyPropertyKey (como um membro interno) e o acessador get para AquariumGraphic.The example also shows the DependencyPropertyKey creation (as an internal member) and the get accessor for 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

Remarks

O valor DependencyProperty permite que um identificador de 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.The DependencyProperty value enables a read-only property's identifier to participate in common property system operations using some of the same interfaces as used for read-write dependency properties.

Para implementar o acessador get Property para uma propriedade de dependência somente leitura, você deve criar e expor um identificador de DependencyProperty em sua classe.In order to implement the get property accessor for a read-only dependency property, you should create and expose a DependencyProperty identifier on your class. Isso serve para duas finalidades:This serves two purposes:

  • Sua própria classe precisa do identificador de DependencyProperty para implementar o acessador get para o wrapper de propriedade.Your own class needs the DependencyProperty identifier in order to implement the get accessor for the property wrapper. Você usa o DependencyProperty como um parâmetro para a chamada GetValue que implementa o acessador get.You use the DependencyProperty as a parameter for the GetValue call that implements the get accessor.

  • os identificadores de DependencyProperty expõem sua propriedade de dependência ao sistema de propriedades, de modo que outros métodos que dependem de metadados possam acessá-lo em um formato padrão.DependencyProperty identifiers expose your dependency property to the property system such that other methods that rely on metadata can access it in a standard form. 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 de DependencyProperty em vez da chave.For instance, if you called GetLocalValueEnumerator on some DependencyObject and obtained an enumeration of locally set properties (values and identifiers) the identifier returned for a read-only dependency property would be your DependencyProperty value rather than the key. Não expor um identificador de DependencyProperty não aumenta a segurança de sua propriedade de dependência somente leitura de nenhuma forma, apenas faz com que as operações que envolvem sua propriedade sejam mais inconvenientes para classes derivadas e instâncias de classe subsequentes.Not exposing a DependencyProperty identifier does not increase the security of your read-only dependency property in any way, it just makes operations that involve your property more awkward both for subsequent derived classes and class instances.

Para expor o identificador de DependencyProperty em sua classe, você chama DependencyProperty diretamente em sua chave.To expose the DependencyProperty identifier on your class, you call DependencyProperty directly on your key. Use esse valor para criar um identificador de DependencyProperty public static readonlyna classe, que paraleliza a DependencyPropertyKey.Use this value to create a public static readonlyDependencyProperty identifier on the class, which parallels the DependencyPropertyKey.

Applies to

See also