FrameworkElement.DataContext FrameworkElement.DataContext FrameworkElement.DataContext FrameworkElement.DataContext Property

Definition

Dient zum Abrufen oder Festlegen des Datenkontexts für ein Element fest, wenn das Element an Datenbindungen beteiligt ist.Gets or sets the data context for an element when it participates in 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; }
member this.DataContext : obj with get, set
Public Property DataContext As Object

Eigenschaftswert

Das Objekt, das als Datenkontext verwendet werden soll.The object to use as data context.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie ein Datenkontext für eine Bindung agiert und die Informationen bereitstellt, die die spezifischen Werte gebundener Eigenschaften definieren.The following example illustrates how a data context acts on a binding and provides the information that defines the specific values of bound properties.

<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, die für die Bindung verwendet wird, und andere Eigenschaften der Bindung, z. b. den Pfad, erben können.Data context is a concept that allows elements to inherit information from their parent elements about the data source that is used for binding, as well as other characteristics of the binding, such as the path.

Der Datenkontext kann direkt auf ein .NET-Objekt festgelegt werden, wobei die Bindungen die Eigenschaften dieses Objekts auswerten.Data context can be set directly to a .NET object, with the bindings evaluating to properties of that object. Alternativ können Sie den Datenkontext auf ein DataSourceProvider -Objekt festlegen.Alternatively, you can set the data context to a DataSourceProvider object.

Diese Abhängigkeits Eigenschaft erbt Eigenschaftswerte.This dependency property inherits property values. Wenn untergeordnete Elemente vorhanden sind, für DataContext die keine anderen Werte durch lokale Werte oder Stile festgelegt wurden, wird der Wert vom-Eigenschaften System auf den DataContext Wert des nächsten übergeordneten Elements festgelegt, dem dieser Wert zugewiesen ist.If there are child elements without other values for DataContext established through local values or styles, then the property system will set the value to be the DataContext value of the nearest parent element with this value assigned.

Alternativ können Sie eine der folgenden Eigenschaften der Binding -Klasse verwenden, um die Bindungs Quelle explizit anzugeben:Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly:

- <span data-ttu-id="9789d-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span><span class="sxs-lookup"><span data-stu-id="9789d-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="9789d-404"><xref:System.Windows.Data.Binding.Source%2A></span><span class="sxs-lookup"><span data-stu-id="9789d-404"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="9789d-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span><span class="sxs-lookup"><span data-stu-id="9789d-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span></span> 

Weitere Informationen finden Sie unter Vorgehensweise: Geben Sie die BindungsQuelle an.For more information, see How to: Specify the Binding Source.

In XAML DataContext wird in der Regel Binding als Deklaration festgelegt.In XAML, DataContext is most typically set as a Binding declaration. Sie können entweder die Syntax des Eigenschafts Elements oder die Attribut Syntax verwenden.You can use either property element syntax or attribute syntax. Die Attribut Syntax wird im Beispiel auf dieser Seite angezeigt.Attribute syntax is shown in the example on this page. Sie können auch Code verwenden, um DataContextfestzulegen.You can also use code to set DataContext.

DataContextist eine bindbare Eigenschaft zum Vereinfachen von Szenarien, in denen ein Kontext möglicherweise an einen anderen gebunden ist.DataContext is a bindable property to facilitate scenarios where one context might be bound to another. Wenn Sie jedoch eine DataContext DataContext Bindung an vornehmen, achten Sie darauf, keine Zirkel Bindungs Verweise zu erstellen (Binden Sie nicht an sich selbst, was aufgrund der Vererbung des Eigenschafts DataContext Werts der-Eigenschaft möglich ist).However, if you bind to DataContext, be careful to not create circular binding references (do not bind a DataContext to itself, which it is possible to do because of the property value inheritance nature of the DataContext property).

Verwendung von XAML-EigenschaftenelementenXAML Property Element Usage

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

Verwendung von XAML-AttributenXAML Attribute Usage

<object DataContext="bindingUsage"/>  

- oder --or-

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

XAML-WerteXAML Values

dataContextObjectdataContextObject
Ein direkt eingebettetes Objekt, das als Datenkontext für alle Bindungen innerhalb des übergeordneten Elements fungiert.A directly embedded object that serves as data context for any bindings within the parent element. In der Regel ist dieses Objekt Binding eine oder BindingBase eine andere abgeleitete Klasse.Typically, this object is a Binding or another BindingBase derived class. Alternativ können Rohdaten eines beliebigen Objekttyps, der für die Bindung bestimmt ist, hier platziert werden, wobei die eigentlichen Bindungen später definiert werden.Alternatively, raw data of any object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
Eine Bindungs Verwendung, die zu einem geeigneten Datenkontext ausgewertet wird.A binding usage that evaluates to an appropriate data context. Weitere Informationen finden Sie unter Binding als Markuperweiterung.For details, see Binding Markup Extension.

resourceExtensionresourceExtension
Eines der folgenden: StaticResource oder. DynamicResourceOne of the following: StaticResource or DynamicResource. Diese Verwendung wird verwendet, wenn auf Rohdaten verwiesen wird, die als Objekt in Ressourcen definiert sind.This usage is used when referring to raw data defined as an object in resources. Siehe XAML-Ressourcen.See XAML Resources.

contextResourceKeycontextResourceKey
Der Schlüssel Bezeichner für das Objekt, das in einem ResourceDictionaryangefordert wird.The key identifier for the object being requested from within a ResourceDictionary.

Informationen zur AbhängigkeitseigenschaftDependency Property Information

BezeichnerfeldIdentifier field DataContextProperty
Metadateneigenschaften auf true festgelegtMetadata properties set to true Inherits

Gilt für: