FrameworkElement.DataContext Właściwość

Definicja

Pobiera lub ustawia kontekst danych dla elementu, gdy uczestniczy w powiązaniu danych.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; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
member this.DataContext : obj with get, set
Public Property DataContext As Object

Wartość właściwości

Object

Obiekt, który ma być używany jako kontekst danych.The object to use as data context.

Atrybuty

Przykłady

Poniższy przykład ilustruje, jak kontekst danych działa na powiązanie i zawiera informacje definiujące określone wartości powiązanych właściwości.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}}">

Uwagi

Kontekst danych to koncepcja, która umożliwia elementom dziedziczenie informacji z ich elementów nadrzędnych o źródle danych używanym do tworzenia powiązań, a także innych właściwości powiązania, takich jak ścieżka.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.

Kontekst danych można ustawić bezpośrednio dla obiektu .NET, z powiązaniem, które oceniają właściwości tego obiektu.Data context can be set directly to a .NET object, with the bindings evaluating to properties of that object. Alternatywnie można ustawić kontekst danych dla DataSourceProvider obiektu.Alternatively, you can set the data context to a DataSourceProvider object.

Ta właściwość zależności dziedziczy wartości właściwości.This dependency property inherits property values. Jeśli istnieją elementy podrzędne bez innych wartości do DataContext ustanowienia za pomocą lokalnych wartości lub stylów, system właściwości ustawi wartość jako DataContext wartość najbliższego nadrzędnego elementu z tą wartością.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.

Alternatywnie możesz użyć jednej z następujących właściwości Binding klasy, aby jawnie określić źródło powiązania:Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly:

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

Aby uzyskać więcej informacji, zobacz How to: Określanie źródła powiązania.For more information, see How to: Specify the Binding Source.

W języku XAML DataContext jest najczęściej ustawiany jako Binding Deklaracja.In XAML, DataContext is most typically set as a Binding declaration. Można użyć składni elementu właściwości lub składni atrybutów.You can use either property element syntax or attribute syntax. Składnia atrybutu jest pokazana w przykładzie na tej stronie.Attribute syntax is shown in the example on this page. Można również użyć kodu do ustawienia DataContext .You can also use code to set DataContext.

DataContext jest właściwością do powiązania, aby ułatwić scenariusze, w których jeden kontekst może być powiązany z innym.DataContext is a bindable property to facilitate scenarios where one context might be bound to another. Jeśli jednak powiążesz się z DataContext , należy zachować ostrożność, aby nie tworzyć cykliczne odwołania do powiązań (nie należy powiązać DataContext do samego siebie, co jest możliwe z powodu dziedziczenia wartości właściwości DataContext Właściwości).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).

Użycie elementu właściwości języka XAMLXAML Property Element Usage

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

Użycie atrybutu języka XAMLXAML Attribute Usage

<object DataContext="bindingUsage"/>  

-lub--or-

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

Wartości XAMLXAML Values

datacontextobjectdataContextObject
Obiekt bezpośrednio osadzony, który służy jako kontekst danych dla wszelkich powiązań w elemencie nadrzędnym.A directly embedded object that serves as data context for any bindings within the parent element. Zazwyczaj ten obiekt jest Binding lub inną BindingBase klasą pochodną.Typically, this object is a Binding or another BindingBase derived class. Alternatywnie dane pierwotne dowolnego typu obiektu przeznaczonego do powiązania mogą zostać umieszczone tutaj, z rzeczywistymi powiązaniami zdefiniowanymi w dalszej części.Alternatively, raw data of any object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
Użycie powiązania, które jest oceniane do odpowiedniego kontekstu danych.A binding usage that evaluates to an appropriate data context. Aby uzyskać szczegółowe informacje, zobacz Binding Markup Extension.For details, see Binding Markup Extension.

resourceExtensionresourceExtension
Jeden z następujących elementów: StaticResource lub DynamicResource .One of the following: StaticResource or DynamicResource. To użycie jest używane w przypadku odwoływania się do danych pierwotnych zdefiniowanych jako obiekt w zasobach.This usage is used when referring to raw data defined as an object in resources. Zobacz zasoby XAML.See XAML Resources.

contextResourceKeycontextResourceKey
Identyfikator klucza dla obiektu, z którego zażądano ResourceDictionary .The key identifier for the object being requested from within a ResourceDictionary.

Informacje dotyczące właściwości zależnościDependency Property Information

Pole identyfikatoraIdentifier field DataContextProperty
Właściwości metadanych ustawione na trueMetadata properties set to true Inherits

Dotyczy