Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe DependencyPropertyKey

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

System.Object
  System.Windows.DependencyPropertyKey

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

public sealed class DependencyPropertyKey

Il tipo DependencyPropertyKey espone i seguenti membri.

  NomeDescrizione
Proprietà pubblicaDependencyPropertyOttiene l'identificatore di proprietà di dipendenza associato all'identificatore proprietà di dipendenza di sola lettura specializzato.
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoOverrideMetadataEsegue l'override dei metadati di una proprietà di dipendenza di sola lettura che è rappresentata da questo identificatore proprietà di dipendenza.
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

RegisterAttachedReadOnly le istanze sono specificate come valore restituito di una chiamata di registrazione della proprietà di dipendenza utilizzando i metodi di RegisterReadOnly o diDependencyPropertyKey .

i tipi che registrano una proprietà di dipendenza possono utilizzare DependencyPropertyKey nelle chiamate a SetValue e ClearValue tale regola il valore della proprietà come parte della logica della classe. Se consentito dal livello di accesso della chiave, le classi correlate possono utilizzare la chiave e la proprietà di dipendenza persino. Ad esempio, è possibile dichiarare la chiave come interna e altri tipi nello stesso assembly è possibile impostare tale proprietà di dipendenza.

DependencyPropertyKey restituito dalla registrazione di sola lettura di una proprietà di dipendenza non deve essere resa pubblica, perché esporre la chiave della proprietà impostabile, quindi sconfiggendo il punto di registrazione come proprietà di dipendenza di sola lettura. Inoltre, esporre la chiave causa una mancata corrispondenza tra i comportamenti disponibili della proprietà di dipendenza e proprio Common Language Runtime (CLR) implementazioni del wrapper della proprietà, che non è corretta progettazione della classe.

Anziché esporre la chiave stessa, è necessario esporre DependencyProperty valore di DependencyPropertyKey ad esempio public static readonlyDependencyProperty nella classe. In questo modo la proprietà per restituire un identificatore di proprietà di dipendenza valido per determinate operazioni del sistema di proprietà come enumerazione dei valori impostati localmente. Tuttavia, l'identificatore ottenuto pertanto non dispone delle funzionalità complete di un oggetto DependencyProperty per molte operazioni del sistema di proprietà.

Nell'esempio registra una proprietà di dipendenza di sola lettura e viene utilizzata la chiave per due scopi in altri membri della classe: implementare get “wrapper„ e come l'identificatore per un'operazione protetta di determinazione che imposta il valore in base ai 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

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro pubblico static (Shared in Visual Basic) di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft