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

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

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

Атрибуты

Примеры

В следующем примере устанавливается привязка для 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

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