DataContext 属性

FrameworkElement.DataContext 属性

更新:2007 年 11 月

获取或设置元素参与数据绑定时的数据上下文。这是一个依赖项属性。

命名空间:  System.Windows
程序集:  PresentationFramework(在 PresentationFramework.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory.NeverLocalize)]
public Object DataContext { get; set; }
/** @property */
/** @attribute LocalizabilityAttribute(LocalizationCategory.NeverLocalize) */
public Object get_DataContext()
/** @property */
/** @attribute LocalizabilityAttribute(LocalizationCategory.NeverLocalize) */
public  void set_DataContext(Object value)

public function get DataContext () : Object
public function set DataContext (value : Object)
<object>
  <object.DataContext>
    <dataContextObject />
  </object.DataContext>
</object>
<object DataContext="bindingUsage"/>
- or -
<object DataContext="{resourceExtension contextResourceKey}"/>
dataContextObject
                    一个直接嵌入的对象,用作父元素中所有绑定的数据上下文。通常,此对象是一个 Binding 或另一个 BindingBase 派生类。另外,还可以将打算用于绑定的任何 CLR 对象类型的原始数据放在此处,以后再定义实际的绑定。
                bindingUsage
                    一种计算结果为适当数据上下文的绑定用法。有关详细信息,请参见绑定标记扩展。
                resourceExtension
                    以下用法之一:StaticResource 或 DynamicResource。在引用被定义为资源中对象的原始数据时,使用此用法。请参见资源概述。
                contextResourceKey
                    从 ResourceDictionary 中请求的对象的键标识符。
                

属性值

类型:System.Object

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

标识符字段

DataContextProperty

设置为 true 的元数据属性

Inherits

“数据上下文”概念使元素可以从它们的父元素继承有关用于绑定的数据源以及绑定的其他特征(如路径)的信息。

可以将数据上下文直接设置为公共语言运行时 (CLR) 对象,并且将绑定计算为该对象的属性。另外,还可以将数据上下文设置为一个 DataSourceProvider 对象。

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

另外,还可以使用 Binding 类的下列属性之一显式指定绑定源:ElementNameSourceRelativeSource。有关更多信息,请参见如何:指定绑定源

在 XAML 中,最常见的做法是将 DataContext 设置为 Binding 声明。可以使用属性 (Property) 元素语法或属性 (Attribute) 语法。本页中的示例演示了属性 (Attribute) 语法。您还可以使用代码来设置 DataContext

DataContext 是一个可绑定的属性,可用于实现一个上下文可以绑定到其他上下文的方案。但是,如果绑定到 DataContext,则请注意不要创建循环绑定引用(即不要将 DataContext 绑定到它本身,因为 DataContext 属性具有属性值继承特性,所以有可能产生这样的效果)。

下面的示例演示数据上下文如何对绑定起作用,并提供用来定义已绑定属性的特定值的信息。

<Window.Resources>
  <src:LeagueList x:Key="MyList" />


...


</Window.Resources>


...


<DockPanel DataContext="{Binding Source={StaticResource MyList}}">


Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5、3.0

社区附加资源

添加
显示:
© 2016 Microsoft