FrameworkElement.DataContext Proprietà

Definizione

Ottiene o imposta il contesto dei dati per un elemento quando partecipa al data binding.

public:
 property System::Object ^ DataContext { System::Object ^ get(); void set(System::Object ^ value); };
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
public object DataContext { get; set; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
member this.DataContext : obj with get, set
Public Property DataContext As Object

Valore della proprietà

Object

Oggetto da usare come contesto dei dati.

Attributi

Esempio

Nell'esempio seguente viene illustrato come un contesto dati agisce su un'associazione e fornisce le informazioni che definiscono i valori specifici delle proprietà associate.

<Window.Resources>
  <src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">

Commenti

Il contesto dei dati è un concetto che consente agli elementi di ereditare informazioni dagli elementi padre sull'origine dati usata per l'associazione, nonché altre caratteristiche dell'associazione, ad esempio il percorso.

Il contesto dei dati può essere impostato direttamente su un oggetto .NET, con le associazioni che valutano le proprietà di tale oggetto. In alternativa, è possibile impostare il contesto dei dati su un DataSourceProvider oggetto.

Questa proprietà di dipendenza eredita i valori delle proprietà. Se sono presenti elementi figlio senza altri valori per DataContext stabiliti tramite valori o stili locali, il sistema di proprietà imposterà il valore DataContext come valore dell'elemento padre più vicino con questo valore assegnato.

In alternativa, è possibile usare una delle proprietà seguenti della Binding classe per specificare l'origine di associazione in modo esplicito:

- <xref:System.Windows.Data.Binding.ElementName%2A>.
- <xref:System.Windows.Data.Binding.Source%2A>.
- <xref:System.Windows.Data.Binding.RelativeSource%2A>. 

Per altre informazioni, vedere Procedura: Specificare l'origine dell'associazione.

In XAML, DataContext viene in genere impostato come Binding dichiarazione. È possibile usare la sintassi degli elementi di proprietà o la sintassi degli attributi. La sintassi degli attributi è illustrata nell'esempio in questa pagina. È anche possibile usare il codice per impostare DataContext.

DataContext è una proprietà associabile per facilitare gli scenari in cui un contesto può essere associato a un altro. Tuttavia, se si esegue l'associazione a DataContext, prestare attenzione a non creare riferimenti di associazione circolari (non associare un DataContext oggetto a se stesso, che è possibile eseguire a causa della natura dell'ereditarietà del valore della proprietà).DataContext

Utilizzo della sintassi XAML per elementi proprietà

<object>  
  <object.DataContext>  
    <dataContextObject />  
  </object.DataContext>  
</object>  

Uso della sintassi XAML per gli attributi

<object DataContext="bindingUsage"/>  

-oppure-

<object DataContext="{resourceExtension contextResourceKey}"/>  

Valori XAML

dataContextObject
Oggetto direttamente incorporato che funge da contesto dati per qualsiasi associazione all'interno dell'elemento padre. In genere, questo oggetto è una Binding o un'altra BindingBase classe derivata. In alternativa, i dati non elaborati di qualsiasi tipo di oggetto destinato all'associazione possono essere inseriti qui, con le associazioni effettive definite in un secondo momento.

bindingUsage
Utilizzo dell'associazione che restituisce un contesto dati appropriato. Per informazioni dettagliate, vedere Estensione di markup Binding.

resourceExtension
Uno dei seguenti: StaticResource o DynamicResource. Questo utilizzo viene usato quando si fa riferimento a dati non elaborati definiti come oggetto nelle risorse. Vedi Risorse XAML.

contextResourceKey
Identificatore di chiave per l'oggetto richiesto dall'interno di un oggetto ResourceDictionary.

Informazioni proprietà di dipendenza

Campo Identificatore DataContextProperty
Proprietà dei metadati impostate su true Inherits

Si applica a