Windows Dev Center

Informazioni
L'argomento richiesto è visualizzato di seguito, ma non è incluso in questa libreria.

Metodo DependencyObject.GetValue

Aggiornamento: novembre 2007

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject.

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

public Object GetValue(
	DependencyProperty dp
)
public Object GetValue(
	DependencyProperty dp
)
public function GetValue(
	dp : DependencyProperty
) : Object
Non è possibile utilizzare metodi in XAML.

Parametri

dp
Tipo: System.Windows.DependencyProperty

L'identificatore DependencyProperty della proprietà per la quale recuperare il valore.

Valore restituito

Tipo: System.Object

Restituisce il valore effettivo corrente.

EccezioneCondizione
InvalidOperationException

Il parametro dp specificato o il relativo valore non è valido oppure il parametro dp non esiste.

Per valore effettivo si intende il valore della proprietà restituito dal sistema di proprietà a qualsiasi chiamante che lo richieda. Il valore effettivo è il risultato della valutazione effettuata dal sistema di proprietà di tutti i possibili input che partecipano alla precedenza dei valori del sistema di proprietà. Coercizione e animazione sono incluse. Per ulteriori informazioni, vedere Precedenza del valore della proprietà di dipendenza.

Questo metodo non restituisce mai UnsetValue. UnsetValue è un valore sentinel del sistema di proprietà, utilizzato in vario modo internamente e talvolta anche esposto mediante callback di coercizione.

Se non si è certi del tipo della proprietà, è possibile eseguire una query sull'identificatore della proprietà di dipendenza richiesta per determinare se esiste un oggetto PropertyType più specifico nel quale può essere convertito il valore restituito.

In questo esempio viene mostrato come supportare una proprietà Common Language Runtime (CLR) con un campo DependencyProperty, definendo una proprietà di dipendenza. Quando si definiscono proprietà personalizzate e si desidera che queste supportino molti aspetti della funzionalità Windows Presentation Foundation (WPF), inclusi stili, associazione dati, ereditarietà, animazione e valori predefiniti, è necessario implementarle come proprietà di dipendenza.

Nell'esempio seguente viene innanzitutto registrata una proprietà di dipendenza chiamando il metodo Register. Il nome del campo dell'identificatore utilizzato per memorizzare il nome e le caratteristiche della proprietà di dipendenza deve essere l'oggetto Name scelto per la proprietà di dipendenza come parte della chiamata Register, aggiunta dalla stringa letterale Property. Ad esempio, se si registra una proprietà di dipendenza con una proprietà Name di Location, il campo dell'identificatore definito per la proprietà di dipendenza deve essere denominato LocationProperty.

In questo esempio, il nome della proprietà di dipendenza e la relativa funzione di accesso CLR è State; il campo dell'identificatore è StateProperty; il tipo della proprietà è Boolean e il tipo che registra la proprietà di dipendenza è MyStateControl.

Se non si riesce a seguire questo modello di denominazione, la proprietà potrebbe non essere segnalata correttamente nelle finestre di progettazione e alcuni aspetti dell'applicazione di stili del sistema di proprietà potrebbero non funzionare nel modo previsto.

Inoltre, è possibile specificare i metadati predefiniti per una proprietà di dipendenza. In questo esempio viene registrato il valore predefinito della State proprietà di dipendenza affinché sia false.

public class MyStateControl : ButtonBase
{
  public MyStateControl() : base() { }
  public Boolean State
  {
    get { return (Boolean)this.GetValue(StateProperty); }
    set { this.SetValue(StateProperty, value); } 
  }
  public static readonly DependencyProperty StateProperty = DependencyProperty.Register(
    "State", typeof(Boolean), typeof(MyStateControl),new PropertyMetadata(false));
}


Per l'esempio completo, vedere Esempio di classi personalizzate con proprietà di dipendenza.

Per ulteriori informazioni sulla modalità e sui motivi dell'implementazione di una proprietà di dipendenza, in contrapposizione al semplice supporto di una proprietà CLR con un campo privato, vedere Cenni preliminari sulle proprietà di dipendenza.

Altro codice

Procedura: registrare una proprietà associataIn questo esempio viene mostrato come registrare una proprietà associata e fornire funzioni di accesso pubbliche, in modo da poter utilizzare la proprietà sia in Extensible Application Markup Language (XAML), sia nel codice. Le proprietà associate rappresentano un concetto della sintassi definito da Extensible Application Markup Language (XAML). La maggior parte delle proprietà associate per i tipi WPF viene anche implementata come proprietà di dipendenza. È possibile utilizzare le proprietà di dipendenza in qualsiasi tipo DependencyObject.

Windows Vista

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

.NET Framework

Supportato in: 3.5, 3.0

Aggiunte alla community

Mostra:
© 2015 Microsoft