DependencyPropertyKey DependencyPropertyKey DependencyPropertyKey DependencyPropertyKey Class

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à
DependencyPropertyKeyDependencyPropertyKeyDependencyPropertyKeyDependencyPropertyKey

Esempi

Nell'esempio seguente registra una proprietà di dipendenza di sola lettura e Usa anche la chiave per due scopi in altri membri della classe: implementare il wrapper"get" e come identificatore per un'operazione di determinazione protetto che imposta il valore basato su calcoli valori di altre 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

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

I tipi di registrano una proprietà di dipendenza è possono usare la DependencyPropertyKey nelle chiamate a SetValue e ClearValue che modificano il valore della proprietà come parte della logica di 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 interni e altri tipi all'interno dello stesso assembly possono inoltre impostare 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.

Il DependencyPropertyKey restituito dalla dipendenza di sola lettura registrazione della proprietà non deve essere reso pubblica, perché esporre la chiave rende la proprietà impostabili, annullando così il punto di registrazione come una 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, esporre la chiave provoca una mancata corrispondenza tra la dipendenza disponibile i comportamenti di proprietà e i relativi Common Language Runtime (CLR)common language runtime (CLR) implementazioni del wrapper della proprietà, ovvero corretta progettazione delle classi.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 stessa, è consigliabile esporre le DependencyProperty pari al DependencyPropertyKey come una 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. In questo modo la proprietà restituire un identificatore di proprietà di dipendenza valido per alcune operazioni di sistema di proprietà quali l'enumerazione di 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 così ottenuto è privo di funzionalità complete di un DependencyProperty per molte operazioni di sistema di proprietà.However, the identifier thus obtained does not have the full capabilities of a DependencyProperty for many property system operations.

Proprietà

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

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

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

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

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

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

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

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

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

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

(Inherited from Object)

Si applica a

Vedi anche