DependencyPropertyKey Classe

Definizione

Fornisce l'identificatore di una proprietà di dipendenza per accesso in scrittura limitato a una proprietà di dipendenza di sola lettura.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
Ereditarietà
DependencyPropertyKey

Esempi

Nell'esempio seguente viene registrata una proprietà di dipendenza di sola lettura e viene utilizzata anche la chiave per due scopi in altri membri della classe: implementazione di Get "wrapper" e come identificatore per un'operazione di determinazione protetta che imposta il valore in base ai calcoli di altri valori di proprietà.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

Commenti

DependencyPropertyKeyle istanze vengono ottenute come valore restituito di una chiamata di registrazione della proprietà di RegisterReadOnly dipendenza RegisterAttachedReadOnlyutilizzando i metodi o.DependencyPropertyKey instances are obtained as the return value of a dependency property registration call using the methods RegisterReadOnly or RegisterAttachedReadOnly.

I tipi che registrano una proprietà di dipendenza possono DependencyPropertyKey usare le chiamate SetValue a ClearValue e che regolano il valore della proprietà come parte della logica della 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. Se consentito dal livello di accesso della chiave, le classi correlate possono usare anche la chiave e la proprietà di dipendenza.If permitted by the access level of the key, related classes can use the key and the dependency property also. Ad esempio, è possibile dichiarare la chiave come interna e altri tipi all'interno dello stesso assembly possono impostare anche tale proprietà di dipendenza.For instance, you can declare the key as internal, and other types within the same assembly can also set that dependency property.

L' DependencyPropertyKey oggetto restituito dalla registrazione della proprietà di dipendenza di sola lettura non deve essere reso pubblico perché l'esposizione della chiave rende la proprietà impostabile, in modo da sconfiggere il punto di registrazione come proprietà di dipendenza di sola lettura.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. Inoltre, l'esposizione della chiave causa una mancata corrispondenza tra i comportamenti della proprietà di dipendenza disponibili Common Language Runtime (CLR)common language runtime (CLR) e le relative implementazioni del wrapper della proprietà, che è una progettazione di classe non valida.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.

Anziché esporre la chiave, è invece necessario esporre DependencyProperty il valore DependencyPropertyKey di come public static readonly DependencyProperty nella 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. Ciò consente alla proprietà di restituire un identificatore valido della proprietà di dipendenza per determinate operazioni del sistema di proprietà, ad esempio l'enumerazione dei valori impostati localmente.This enables the property to return a valid dependency property identifier for certain property system operations such as enumerating locally set values. Tuttavia, l'identificatore ottenuto in questo modo non dispone delle funzionalità complete di DependencyProperty un oggetto per molte operazioni del sistema di proprietà.However, the identifier thus obtained does not have the full capabilities of a DependencyProperty for many property system operations.

Proprietà

DependencyProperty

Ottiene l'identificatore della proprietà di dipendenza associato all'identificatore della proprietà di dipendenza di sola lettura specializzato.Gets the dependency property identifier associated with this specialized read-only dependency property identifier.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
OverrideMetadata(Type, PropertyMetadata)

Esegue l'override dei metadati di una proprietà di dipendenza di sola lettura rappresentata da questo identificatore di proprietà.Overrides the metadata of a read-only dependency property that is represented by this dependency property identifier.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Vedi anche