FrameworkContentElement.DataContext Свойство

Определение

Получает или задает контекст данных для элемента, участвующего в привязке данных.

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

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

Object

Объект, используемый в качестве контекста данных.

Атрибуты

Примеры

В следующем примере задается привязка для Paragraph элемента, создав новый пользовательский объект данных, установив этот объект как DataContextи задав путь привязки к свойству внутри него.

MyData myDataObject = new MyData();
myflowdocument.DataContext = myDataObject;
introParagraph.SetBinding(Paragraph.TagProperty, "CustomData");
Dim myDataObject As New MyData()
myflowdocument.DataContext = myDataObject
introParagraph.SetBinding(Paragraph.TagProperty, "CustomData")

Комментарии

Контекст данных — это концепция, которая позволяет элементам наследовать информацию от родительских элементов об источнике привязки, используемом для привязки, а также других характеристик привязки, таких как путь.

Контекст данных можно задать непосредственно для объекта среды CLR, при этом привязки оценивают свойства этого объекта. Кроме того, можно задать контекст данных для DataSourceProvider объекта.

Это свойство зависимостей наследует значения свойств. Если есть дочерние элементы без других значений, DataContext установленных с помощью локальных значений или стилей, система свойств установит значение в качестве DataContext значения ближайшего родительского элемента с присвоенным этим значением.

Кроме того, можно использовать одно из следующих свойств Binding класса, чтобы явно указать источник привязки: ElementName, Sourceили RelativeSource. Дополнительные сведения см. в разделе "Практическое руководство. Указание источника привязки".

В XAML DataContext чаще всего задается в качестве Binding объявления. Можно использовать синтаксис элемента свойства или синтаксис атрибута. Синтаксис атрибута показан в примере на этой странице. Можно также задать DataContext в коде.

Использование элемента свойства XAML

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

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

<object DataContext="bindingUsage"/>  

-или-

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

Значения XAML

dataContextObject
Непосредственно внедренный объект, который служит контекстом данных для любых привязок в родительском элементе. Как правило, этот объект является подклассом Binding или другим BindingBase . Кроме того, необработанные данные любого типа объекта CLR, предназначенного для привязки, можно поместить здесь с фактическими привязками, определенными позже.

bindingUsage
Использование привязки, результатом которого является соответствующий контекст данных. Дополнительные сведения см. в разделе Привязка расширения разметки.

resourceExtension
Одно из следующих элементов: StaticResourceили DynamicResource. Это использование используется при ссылке на необработанные данные, определенные как объект в ресурсах. См. ресурсы XAML.

contextResourceKey
Идентификатор ключа объекта, запрашиваемого из объекта ResourceDictionary.

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

Поле идентификатора DataContextProperty
Для свойств метаданных задано значение true Inherits

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