Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe DependencyPropertyKey

 

Data di pubblicazione: ottobre 2016

Fornisce un identificatore di proprietà di dipendenza dell'accesso in scrittura limitato a una proprietà di dipendenza di sola lettura.

Spazio dei nomi:   System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)

System.Object
  System.Windows.DependencyPropertyKey

public sealed class DependencyPropertyKey

NomeDescrizione
System_CAPS_pubpropertyDependencyProperty

Ottiene l'identificatore di proprietà di dipendenza associata a questo identificatore di proprietà di dipendenza di sola lettura specializzato.

NomeDescrizione
System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodOverrideMetadata(Type, PropertyMetadata)

Ignora i metadati di una proprietà di dipendenza di sola lettura che è rappresentato da questo identificatore di proprietà di dipendenza.

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

DependencyPropertyKey le istanze vengono ottenute come valore restituito di una chiamata di registrazione di proprietà di dipendenza utilizzando i metodi RegisterReadOnly o RegisterAttachedReadOnly.

I tipi che registrano una proprietà di dipendenza possono utilizzare il DependencyPropertyKey nelle chiamate a SetValue e ClearValue che modificano il valore della proprietà come parte della logica di classe. Se consentito dal livello di accesso della chiave, le classi correlate possono utilizzare anche la chiave e la proprietà di dipendenza. Ad esempio, è possibile dichiarare la chiave come interna, e altri tipi all'interno dello stesso assembly possono inoltre impostare tale proprietà di dipendenza.

Il DependencyPropertyKey restituito dalla dipendenza di sola lettura e registrazione per la proprietà non deve essere reso pubblica, perché l'esposizione della chiave rende la proprietà impostabili, annullando così il punto di registrazione come una proprietà di dipendenza di sola lettura. Inoltre, esporre la chiave provoca una mancata corrispondenza tra la dipendenza disponibile comportamenti di proprietà e il relativo Common Language Runtime (CLR) implementazioni del wrapper della proprietà, ovvero corretta progettazione delle classi.

Anziché esporre la chiave stessa, è consigliabile esporre il DependencyProperty valore di DependencyPropertyKey come un public static readonlyDependencyProperty nella classe. In questo modo la proprietà restituire un identificatore valido per determinate operazioni di sistema di proprietà quali l'enumerazione di valori impostati localmente. L'identificatore così ottenuto, tuttavia, non dispone di tutte le funzionalità di un DependencyProperty per molte operazioni di sistema di proprietà.

Nell'esempio seguente viene registrata una proprietà di dipendenza di sola lettura e utilizza anche la chiave per due scopi in altri membri della classe: implementazione get "wrapper" e come identificatore per un'operazione di determinazione sicura che imposta il valore in base a calcoli di altri valori di proprietà.

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); }
}

.NET Framework
Disponibile da 3.0

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: