DependencyPropertyKey.DependencyProperty Propriété

Définition

Obtient l'identificateur de propriété de dépendance associé à cet identificateur de propriété de dépendance en lecture seule spécialisé.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

Valeur de propriété

Identificateur de propriété de dépendance pertinent.The relevant dependency property identifier.

Exemples

L’exemple suivant appelle DependencyProperty pour exposer l' DependencyProperty identificateur (AquariumGraphicProperty) pour la AquariumGraphic propriété de dépendance en lecture seule sur une classe.The following example calls DependencyProperty to expose the DependencyProperty identifier (AquariumGraphicProperty) for the AquariumGraphic read-only dependency property on a class. L’exemple montre également la DependencyPropertyKey création (en tant que membre interne) et l’accesseur AquariumGraphicGet pour.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

Remarques

La DependencyProperty valeur permet à un identificateur de propriété en lecture seule de participer à des opérations de système de propriétés courantes à l’aide de certaines des interfaces utilisées pour les propriétés de dépendance en lecture-écriture.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.

Afin d’implémenter l’accesseur de propriété get pour une propriété de dépendance en lecture seule, vous devez créer DependencyProperty et exposer un identificateur sur votre 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. Cela répond à deux objectifs:This serves two purposes:

  • Votre propre classe a besoin DependencyProperty de l’identificateur afin d’implémenter l’accesseur get pour le wrapper de propriété.Your own class needs the DependencyProperty identifier in order to implement the get accessor for the property wrapper. Vous utilisez DependencyProperty en tant que paramètre pour l' GetValue appel qui implémente l’accesseur Get.You use the DependencyProperty as a parameter for the GetValue call that implements the get accessor.

  • DependencyPropertyles identificateurs exposent votre propriété de dépendance au système de propriétés de telle sorte que les autres méthodes qui reposent sur les métadonnées puissent y accéder sous une forme standard.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. Par exemple, si vous avez GetLocalValueEnumerator appelé sur DependencyObject certaines et obtenu une énumération des propriétés localement définies (valeurs et identificateurs), l’identificateur retourné pour une propriété de dépendance en lecture seule DependencyProperty est votre valeur plutôt que la clé.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. Le fait de ne DependencyProperty pas exposer un identificateur n’augmente en rien la sécurité de votre propriété de dépendance en lecture seule, ce qui rend simplement les opérations qui impliquent votre propriété plus maladroites pour les classes dérivées suivantes et les instances de classe.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.

Pour exposer l' DependencyProperty identificateur sur votre classe, vous appelez DependencyProperty directement sur votre clé.To expose the DependencyProperty identifier on your class, you call DependencyProperty directly on your key. Utilisez cette valeur pour créer un public static readonly DependencyProperty identificateur sur la classe, qui correspond au DependencyPropertyKey.Use this value to create a public static readonlyDependencyProperty identifier on the class, which parallels the DependencyPropertyKey.

S’applique à

Voir aussi