FrameworkContentElement.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.

Атрибуты

Примеры

В следующем примере задается привязка для элемента Paragraph, создавая новый пользовательский объект данных, устанавливая этот объект как DataContextи настроив путь привязки на свойство в нем.The following example sets a binding on a Paragraph element, by creating a new custom data object, establishing that object as DataContext, and setting the binding path to a property within it.

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")

Комментарии

Контекст данных — это концепция, которая позволяет элементам наследовать от своих родительских элементов сведения об источнике привязки, используемом для привязки, а также о других характеристиках привязки, например пути.Data context is a concept that allows elements to inherit information from their parent elements about the binding source that is used for binding, as well as other characteristics of the binding such as the path.

Контекст данных можно задать непосредственно для объекта среда CLRcommon language runtime (CLR) с привязками, оценивающих свойства этого объекта.Data context can be set directly to a среда CLRcommon language runtime (CLR) 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 with no other value for DataContext established through local values or styles, the property system will set the value to be the DataContext value of the nearest parent element with this value assigned.

Кроме того, можно использовать одно из следующих свойств класса Binding, чтобы явно указать источник привязки: ElementName, Sourceили RelativeSource.Alternatively, you can use one of the following properties of the Binding class to specify the binding source explicitly: ElementName, Source, or RelativeSource. Дополнительные сведения см. в разделе Практическое руководство. Укажитеисточника привязки.For more information, see How to: Specify the Binding Source.

В XAMLXAMLDataContext чаще всего задается как объявление Binding.In XAMLXAML, DataContext is most commonly set to 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 set DataContext in code.

Использование элемента свойства 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 subclass. Кроме того, здесь можно разместить необработанные данные любого типа объекта CLRCLR, предназначенного для привязки, с фактическими привязками, определенными далее.Alternatively, raw data of any CLRCLR 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

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