Freigeben über


FrameworkElement.DataContext Eigenschaft

Definition

Dient zum Abrufen oder Festlegen des Datenkontexts für ein Element fest, wenn das Element an Datenbindungen beteiligt ist.

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

Eigenschaftswert

Object

Das Objekt, das als Datenkontext verwendet werden soll.

Attribute

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie ein Datenkontext auf einer Bindung wirkt und die Informationen bereitstellt, die die spezifischen Werte gebundener Eigenschaften definieren.

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

Hinweise

Der Datenkontext ist ein Konzept, mit dem Elemente Informationen von ihren übergeordneten Elementen über die Datenquelle erben können, die für die Bindung verwendet wird, sowie andere Merkmale der Bindung, z. B. der Pfad.

Der Datenkontext kann direkt auf ein .NET-Objekt festgelegt werden, wobei die Bindungen auf Eigenschaften dieses Objekts ausgewertet werden. Alternativ können Sie den Datenkontext auf ein DataSourceProvider Objekt festlegen.

Diese Abhängigkeitseigenschaft erbt Eigenschaftswerte. Wenn untergeordnete Elemente ohne andere Werte für die Einrichtung durch lokale Werte DataContext oder Formatvorlagen vorhanden sind, legt das Eigenschaftssystem den Wert auf den DataContext Wert des nächsten übergeordneten Elements mit diesem zugewiesenen Wert fest.

Alternativ können Sie eine der folgenden Eigenschaften der Binding Klasse verwenden, um die Bindungsquelle explizit anzugeben:

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

Weitere Informationen finden Sie unter How to: Angeben der Bindungsquelle.

In XAML DataContext wird in der Binding Regel als Deklaration festgelegt. Sie können entweder eigenschaftenelementsyntax oder Attributsyntax verwenden. Die Attributsyntax wird im Beispiel auf dieser Seite angezeigt. Sie können auch Code zum Festlegen DataContextvon Code verwenden.

DataContext ist eine bindungsfähige Eigenschaft, um Szenarien zu erleichtern, in denen ein Kontext möglicherweise an eine andere gebunden ist. Wenn Sie jedoch an DataContextbinden , achten Sie darauf, keine Zirkelbindungsbezüge zu erstellen (binden Sie keine DataContext an sich selbst, die aufgrund der DataContext Eigenschaftswertvererbungseigenschaft möglich ist).

Verwendung von XAML-Eigenschaftenelementen

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

Verwendung von XAML-Attributen

<object DataContext="bindingUsage"/>  

- oder -

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

XAML-Werte

dataContextObject
Ein direkt eingebettetes Objekt, das als Datenkontext für alle Bindungen innerhalb des übergeordneten Elements dient. In der Regel ist dieses Objekt eine Binding oder eine andere BindingBase abgeleitete Klasse. Alternativ können rohe Daten eines objekttyps, der für die Bindung vorgesehen ist, hier platziert werden, wobei die tatsächlichen Bindungen später definiert sind.

bindingUsage
Eine Bindungsverwendung, die in einen entsprechenden Datenkontext ausgewertet wird. Weitere Informationen finden Sie unter Binding als Markuperweiterung.

resourceExtension
Eine der folgenden: StaticResource oder DynamicResource. Diese Verwendung wird beim Verweisen auf rohe Daten verwendet, die als Objekt in Ressourcen definiert sind. Weitere Informationen finden Sie unter XAML-Ressourcen.

contextResourceKey
Der Schlüsselbezeichner für das Objekt, das innerhalb eines ResourceDictionaryObjekts angefordert wird.

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld DataContextProperty
Metadateneigenschaften auf true festgelegt Inherits

Gilt für