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

Определение

Получает или задает контекст данных для элемента, участвующего в привязке данных.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

Значение свойства

Объект, используемый в качестве контекста данных.The object to use as data context.

Примеры

В следующем примере показано, как действует контекст данных для привязки и предоставляет сведения, которые определяет конкретные значения связанных свойств.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}}">

Комментарии

Контекст данных — это понятие, позволяет элементам наследовать сведения от своих родительских элементов об источнике данных, который используется для привязки, а также другие характеристики привязки, например путь.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.

Контекст данных можно задать непосредственно в объект .NET с привязками, оценки свойств этого объекта.Data context can be set directly to a .NET object, with the bindings evaluating to properties of that object. Кроме того, можно задать контекст данных DataSourceProvider объекта.Alternatively, you can set the data context to a DataSourceProvider object.

Это свойство зависимостей наследует значения свойств.This dependency property inherits property values. Если существуют дочерние элементы без других значений для DataContext установленное при помощи локальных значений или стили, то система свойств будет задать значение должно быть DataContext значение ближайшего родительского элемента с назначенным данным значением.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.

Кроме того, можно использовать один из следующих свойств объекта Binding класс, чтобы явно указать источник привязки:Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly:

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

Дополнительные сведения см. в разделе Как Указание источника привязки.For more information, see How to: Specify the Binding Source.

В XAML DataContext наиболее обычно устанавливается в виде Binding объявления.In XAML, DataContext is most typically set as a Binding declaration. Можно использовать синтаксис элементов свойств или синтаксиса атрибутов.You can use either property element syntax or attribute syntax. Синтаксис атрибутов показан в примере на этой странице.Attribute syntax is shown in the example on this page. Код также можно использовать для задания DataContext.You can also use code to set DataContext.

DataContext является свойством привязки, чтобы облегчить ситуацию, где один контекст может быть привязана к другому.DataContext is a bindable property to facilitate scenarios where one context might be bound to another. Тем не менее если выполняется привязка к DataContext, будьте внимательны, чтобы не создавать ссылки циклическая привязка (без привязки DataContext на себя, это можно сделать из-за характера наследования значения свойства DataContext свойство).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).

Использование элемента свойства XAMLXAML Property Element Usage

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

Использование атрибута XAMLXAML Attribute Usage

<object DataContext="bindingUsage"/>  
- or -  
<object DataContext="{resourceExtension contextResourceKey}"/>  

Значения XAMLXAML Values

dataContextObjectdataContextObject
Непосредственно внедренный объект, который служит в качестве контекста данных для любых привязок внутри родительского элемента.A directly embedded object that serves as data context for any bindings within the parent element. Как правило, этот объект является Binding или другой BindingBase производного класса.Typically, this object is a Binding or another BindingBase derived class. Кроме того необработанные данные любого типа объекта, предназначенного для привязки здесь можно разместить, а фактические привязки, определенные позднее.Alternatively, raw data of any object type intended for binding may be placed here, with the actual bindings defined later.

bindingUsagebindingUsage
Использование привязки, результатом вычисления которого в соответствующий контекст данных.A binding usage that evaluates to an appropriate data context. Дополнительные сведения см. в разделе Привязка расширения разметки.For details, see Binding Markup Extension.

ResourceExtensionresourceExtension
Одно из следующих: StaticResource или DynamicResource .One of the following: StaticResource or DynamicResource. Такое использование используется при обращении к необработанным данным объектом, в ресурсах.This usage is used when referring to raw data defined as an object in resources. См. в разделе ресурсы XAML.See XAML Resources.

contextResourceKeycontextResourceKey
Идентификатор ключа для запрашиваемого изнутри объекта ResourceDictionary.The key identifier for the object being requested from within a ResourceDictionary.

Сведения о свойстве зависимостейDependency Property Information

Поле идентификатораIdentifier field DataContextProperty
Значение свойства метаданных trueMetadata properties set to true Inherits

Применяется к