FrameworkElement.DataContext Eigenschaft

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.

Attribute

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 ohne andere Werte für DataContext über lokale Werte oder Stile festgelegt sind, legt das Eigenschaften System den Wert auf den DataContext Wert des nächsten übergeordneten Elements fest, dem dieser Wert zugewiesen wird.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="5cf66-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span><span class="sxs-lookup"><span data-stu-id="5cf66-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="5cf66-404"><xref:System.Windows.Data.Binding.Source%2A></span><span class="sxs-lookup"><span data-stu-id="5cf66-404"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="5cf66-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span><span class="sxs-lookup"><span data-stu-id="5cf66-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span></span> 

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

In XAML ist DataContext üblicherweise als Binding 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.

DataContext ist eine bindbare Eigenschaft zum Vereinfachen von Szenarien, in denen ein Kontext an einen anderen gebunden werden kann.DataContext is a bindable property to facilitate scenarios where one context might be bound to another. Wenn Sie jedoch eine Bindung an DataContextvornehmen, achten Sie darauf, keine Zirkel Bindungs Verweise zu erstellen (Binden Sie eine DataContext nicht an sich selbst, was möglich ist, da die Eigenschafts Wert Vererbung der DataContext-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 eine Binding oder eine andere BindingBase 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 DynamicResource.One 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: