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

要用作数据上下文的对象。

属性

示例

以下示例说明了数据上下文如何对绑定执行操作,并提供定义绑定属性的特定值的信息。

<Window.Resources>
  <src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">

注解

数据上下文 是一种概念,它允许元素从其父元素继承有关用于绑定的数据源的信息,以及绑定的其他特征,例如路径。

可以将数据上下文直接设置为 .NET 对象,绑定将评估为该对象的属性。 或者,可以将数据上下文设置为 DataSourceProvider 对象。

此依赖属性继承属性值。 如果没有通过本地值或样式建立的其他值的 DataContext 子元素,则属性系统会将该值 DataContext 设置为分配此值的最近的父元素的值。

或者,可以使用类的 Binding 以下属性之一显式指定绑定源:

- <xref:System.Windows.Data.Binding.ElementName%2A>.
- <xref:System.Windows.Data.Binding.Source%2A>.
- <xref:System.Windows.Data.Binding.RelativeSource%2A>. 

有关详细信息,请参阅 如何:指定绑定源

在 XAML 中, DataContext 通常设置为 Binding 声明。 可以使用属性元素语法或属性语法。 此页上的示例显示了属性语法。 还可以使用代码来设置 DataContext

DataContext 是一个可绑定属性,用于促进一个上下文可能绑定到另一个上下文的方案。 但是,如果绑定到 DataContext,请注意不要创建循环绑定引用, (不会绑定到 DataContext 自身,因为属性) 的 DataContext 属性值继承性质。

XAML 属性元素用法

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

XAML 属性用法

<object DataContext="bindingUsage"/>  
  • 或 -
<object DataContext="{resourceExtension contextResourceKey}"/>  

XAML 值

dataContextObject
直接嵌入的对象,用作父元素中任何绑定的数据上下文。 通常,此对象是另一 BindingBindingBase 派生类。 或者,可以在此处放置任何用于绑定的对象类型的原始数据,以及稍后定义的实际绑定。

bindingUsage
计算结果为适当数据上下文的绑定用法。 有关详细信息,请参阅 Binding 标记扩展

resourceExtension
下列项之一: StaticResourceDynamicResource。 引用资源中定义为对象的原始数据时,将使用此用法。 请参阅 XAML 资源

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

依赖项属性信息

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

适用于