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 下列属性之一显式指定绑定源: ElementNameSourceRelativeSource。 有关详细信息,请参阅 “如何:指定绑定源”。

在 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 下列项之一: StaticResourceDynamicResource。 引用资源中定义为对象的原始数据时,将使用此用法。 请参阅 XAML 资源

contextResourceKey 从中 ResourceDictionary请求的对象密钥标识符。

Dependency 属性信息

项目 价值
标识符字段 DataContextProperty
元数据属性设置为 true Inherits

适用于