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 la clé à deux fins dans d’autres membres de classe : l’implémentation de la commande obtenir le « wrapper » et l’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 comme 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 DependencyPropertyKey dans les appels à SetValue et ClearValue qui ajustent la valeur de la propriété dans le cadre de la logique de la classe. Si le niveau d’accès de la clé l’autorise, 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' DependencyPropertyKey inscription de la propriété de dépendance en lecture seule retournée ne doit pas être rendue publique, car l’exposition de la clé rend la propriété définissable, ce qui a pour effet de défaire 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é common language runtime (CLR), qui est une conception de classe incorrecte.

Au lieu d’exposer la clé elle-même, vous devez exposer à la place la DependencyProperty valeur de DependencyPropertyKey en tant que public static readonly DependencyProperty 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 pas toutes les fonctionnalités d’un 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