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 inscrit une propriété de dépendance en lecture seule et utilise également la clé à deux fins dans d’autres membres de classe : implémentant le « wrapper » et en tant qu’identificateur d’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 les 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 les DependencyPropertyKey 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.

L’inscription DependencyPropertyKey de propriétés de dépendance en lecture seule ne doit pas être rendue publique, car l’exposition de la clé rend la propriété settable, ce qui élimine le point d’inscription en tant que propriété de dépendance en lecture seule. En outre, l’exposition de la clé entraîne 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), ce qui est une conception de classe incorrecte.

Au lieu d’exposer la clé elle-même, vous devez plutôt exposer la DependencyProperty valeur de l’élément DependencyPropertyKey sous public static readonly DependencyProperty forme de 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 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()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

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

Substitue 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