FrameworkElement.DataContext Свойство

Определение

Получает или задает контекст данных для элемента, участвующего в привязке данных.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="3fe23-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span><span class="sxs-lookup"><span data-stu-id="3fe23-403"><xref:System.Windows.Data.Binding.ElementName%2A>.</span></span>
- <span data-ttu-id="3fe23-404"><xref:System.Windows.Data.Binding.Source%2A>.</span><span class="sxs-lookup"><span data-stu-id="3fe23-404"><xref:System.Windows.Data.Binding.Source%2A>.</span></span>
- <span data-ttu-id="3fe23-405"><xref:System.Windows.Data.Binding.RelativeSource%2A>.</span><span class="sxs-lookup"><span data-stu-id="3fe23-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

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

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

ресаурцеекстенсионresourceExtension
Один из следующих: 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.

контекстресаурцекэйcontextResourceKey
Идентификатор ключа для объекта, запрашиваемого в 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

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