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.Provides a dependency property identifier for limited write access to a read-only dependency property.

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é.The following example registers a read-only dependency property, and also uses the key for two purposes in other class members: implementing the get "wrapper", and as the identifier for a protected determination operation that sets the value based on calculations of other property values.

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

DependencyPropertyKeyles instances sont obtenues comme valeur de retour d’un appel d’inscription de propriété de RegisterReadOnly dépendance RegisterAttachedReadOnlyà l’aide des méthodes ou.DependencyPropertyKey instances are obtained as the return value of a dependency property registration call using the methods RegisterReadOnly or RegisterAttachedReadOnly.

Les types qui inscrivent une propriété de dépendance peuvent DependencyPropertyKey utiliser dans les SetValue appels ClearValue à et qui ajustent la valeur de la propriété dans le cadre de la logique de la classe.The types that register a dependency property can use the DependencyPropertyKey in calls to SetValue and ClearValue that adjust the property's value as part of class logic. 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.If permitted by the access level of the key, related classes can use the key and the dependency property also. 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.For instance, you can declare the key as internal, and other types within the same assembly can also set that dependency property.

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.The DependencyPropertyKey returned by read-only dependency property registration should not be made public, because exposing the key makes the property settable, thus defeating the point of registering it as a read-only dependency property. En outre, l’exposition de la clé provoque une incompatibilité entre les comportements de propriété de Common Language Runtime (CLR)common language runtime (CLR) dépendance disponibles et ses implémentations de wrapper de propriété, qui est une conception de classe incorrecte.Also, exposing the key causes a mismatch between the available dependency property behaviors and its Common Language Runtime (CLR)common language runtime (CLR) property wrapper implementations, which is bad class design.

Au lieu d’exposer la clé elle-même, vous devez exposer DependencyProperty à la place DependencyPropertyKey la valeur public static readonly de en tant que DependencyProperty sur votre classe.Instead of exposing the key itself, you should instead expose the DependencyProperty value of the DependencyPropertyKey as a public static readonlyDependencyProperty on your class. 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.This enables the property to return a valid dependency property identifier for certain property system operations such as enumerating locally set values. 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.However, the identifier thus obtained does not have the full capabilities of a DependencyProperty for many property system operations.

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é.Gets the dependency property identifier associated with this specialized read-only dependency property identifier.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(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.Overrides the metadata of a read-only dependency property that is represented by this dependency property identifier.

ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

(Hérité de Object)

S’applique à

Voir aussi