DependencyPropertyKey DependencyPropertyKey DependencyPropertyKey DependencyPropertyKey Class

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
DependencyPropertyKeyDependencyPropertyKeyDependencyPropertyKeyDependencyPropertyKey

Exemples

L’exemple suivant inscrit une propriété de dépendance en lecture seule et utilise également la clé pour deux raisons dans d’autres membres de classe : implémentation du « wrapper » get et comme identificateur pour une opération de détermination protégée qui définit la valeur basée sur 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

DependencyPropertyKey les instances sont obtenues en tant que la valeur de retour d’un appel d’inscription de propriété de dépendance en utilisant les méthodes RegisterReadOnly ou RegisterAttachedReadOnly.DependencyPropertyKey instances are obtained as the return value of a dependency property registration call using the methods RegisterReadOnly or RegisterAttachedReadOnly.

Les types qui s’inscrivent à une propriété de dépendance peuvent utiliser le DependencyPropertyKey dans les appels à SetValue et ClearValue qui ajustent la valeur de 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 autorisé par le niveau d’accès de la clé, les classes connexes 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 une clé interne et les 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.

Le DependencyPropertyKey retourné par la dépendance en lecture seule inscription de la propriété ne doit pas être rendue publique, car la propriété devient définissable, alors que vous avez le point de son inscription comme une 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 discordance entre la dépendance disponible des comportements de propriété et sa Common Language Runtime (CLR)common language runtime (CLR) des implémentations de wrapper de propriété, qui est la conception de la classe incorrect.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, exposez le DependencyProperty valeur de la DependencyPropertyKey comme un public static readonly 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. Ainsi, la propriété à retourner un identificateur de propriété de dépendance valide pour certaines opérations de système de propriétés telles que l’énumération localement les valeurs définies.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 ainsi obtenu n’a pas de toutes les fonctionnalités d’un DependencyProperty pour de nombreuses opérations de système de propriété.However, the identifier thus obtained does not have the full capabilities of a DependencyProperty for many property system operations.

Propriétés

DependencyProperty DependencyProperty DependencyProperty 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) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
OverrideMetadata(Type, PropertyMetadata) OverrideMetadata(Type, PropertyMetadata) OverrideMetadata(Type, PropertyMetadata) 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() ToString() ToString() ToString()

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

(Inherited from Object)

S’applique à

Voir aussi