DependencyPropertyKey Classe

Définition

Fournit un identificateur de propriété de dépendance pour un accès en écriture limité à une propriété de dépendance en lecture seule.

public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
Héritage
DependencyPropertyKey

Exemples

L’exemple suivant enregistre une propriété de dépendance en lecture seule et utilise également la clé à deux fins dans d’autres membres de classe : implémentation de l’get « wrapper » et en tant qu’identificateur pour une opération de détermination protégée qui définit la valeur en fonction des calculs d’autres valeurs de propriété.

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

DependencyPropertyKey instances sont obtenues en tant que valeur de retour d’un appel d’inscription de propriété de dépendance à l’aide des méthodes RegisterReadOnly ou RegisterAttachedReadOnly.

Les types qui inscrivent une propriété de dépendance peuvent utiliser le DependencyPropertyKey dans les appels à SetValue et ClearValue qui ajustent la valeur de la propriété dans le cadre de la logique de classe. Si elle est autorisée par le niveau d’accès de la clé, les classes associées peuvent également utiliser la clé et la propriété de dépendance. Par exemple, vous pouvez déclarer la clé comme interne, et d’autres types dans le même assembly peuvent également définir cette propriété de dépendance.

Les DependencyPropertyKey retournées par l’inscription de propriété de dépendance en lecture seule ne doivent pas être rendues publiques, car l’exposition de la clé rend la propriété settable, ce qui permet de vaincre le point de l’inscrire en tant que propriété de dépendance en lecture seule. En outre, l’exposition de la clé provoque une incompatibilité entre les comportements de propriété de dépendance disponibles et ses implémentations de wrapper de propriétés CLR (Common Language Runtime), qui est une conception de classe incorrecte.

Au lieu d’exposer la clé elle-même, vous devez à la place exposer la valeur DependencyProperty du DependencyPropertyKey en tant que public static readonlyDependencyProperty sur votre classe. Cela permet à la propriété de retourner un identificateur de propriété de dépendance valide pour certaines opérations du système de propriétés, telles que l’énumération des valeurs définies localement. Toutefois, l’identificateur obtenu n’a donc pas les fonctionnalités complètes d’une DependencyProperty pour de nombreuses opérations du système de propriétés.

Propriétés

DependencyProperty

Obtient l’identificateur de propriété de dépendance associé à cet identificateur de propriété de dépendance en lecture seule spécialisé.

Méthodes

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
OverrideMetadata(Type, PropertyMetadata)

Remplace les métadonnées d’une propriété de dépendance en lecture seule représentée par cet identificateur de propriété de dépendance.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à

Voir aussi