请单击以进行评分并提供反馈
MSDN
MSDN Library
.NET 开发
.NET Framework
Binding 类
全部折叠/全部展开 全部折叠
此页面仅适用于
Microsoft Visual Studio 2008/.NET Framework 3.5

同时提供下列产品的其他版本:
.NET Framework 类库
Binding 类

更新:2007 年 11 月

提供对绑定定义的高级别访问,绑定将绑定目标对象(通常为 WPF 元素)的属性与任何数据源(例如数据库、XML 文件或包含数据的任何对象)连接起来。

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

Visual Basic(声明)
Public Class Binding _
    Inherits BindingBase
Visual Basic (用法)
Dim instance As Binding
C#
public class Binding : BindingBase
Visual C++
public ref class Binding : public BindingBase
J#
public class Binding extends BindingBase
JScript
public class Binding extends BindingBase
XAML 对象元素用法
<Binding .../>
XAML 属性用法
<object property="{Binding declaration}"/>
XAML 值
declaration

零个或多个用逗号 (,) 分隔的属性赋值子句。有关更多信息,请参见 绑定标记扩展

Windows Presentation Foundation (WPF) 数据绑定为应用程序提供了一种简单、一致的数据表示和交互方法。通过数据绑定,您可以对两个不同对象的属性值进行同步。

若要建立绑定,请使用 Binding 类或一个从 BindingBase 继承的其他类。不论要绑定的对象和数据源的特性是什么,每个绑定都遵循下图所示的模型。

基本数据绑定示意图

该图演示以下基本的 WPF 数据绑定概念。

  • 每个绑定通常都具有四个组件:绑定目标对象、目标属性、绑定源,以及要使用的绑定源值的 Path。例如,如果希望将 TextBox 的内容绑定到 Employee 对象的 Name 属性,则目标对象是 TextBox,目标属性是 Text 属性,要使用的值是 Name,源对象是 Employee 对象。

  • 目标属性必须为依赖项属性。这同时意味着无法绑定字段。UIElement 对象的大多数属性都是依赖项属性,而大多数依赖项属性(除了只读属性)默认情况下都支持数据绑定。(只有 DependencyObject 类型可以定义依赖项属性,所有 UIElement 对象都是从 DependencyObject 派生的。)

  • 尽管图中并未指出,但请注意,绑定源对象并不限于自定义 CLR 对象。WPF 数据绑定支持 CLR 对象和 XML 形式的数据。举例来说,绑定源可以是 UIElement、任何列表对象、与 ADO.NET 数据或 Web 服务关联的 CLR 对象,也可以是包含 XML 数据的 XmlNode。

使用 Mode 属性可以指定数据流的方向。若要检测单向绑定或双向绑定中的源更改,源必须实现适当的属性更改通知机制,例如 INotifyPropertyChanged。有关示例,请参见如何:实现属性更改通知UpdateSourceTrigger 属性指定源更新的执行时间。有关更多信息,请参见数据绑定概述中的“基本数据绑定概念”。

此示例演示如何创建简单的 Binding

在此示例中,假设您具有一个字符串属性名为 PersonNamePerson 对象。Person 对象是在名为 SDKSample 的命名空间中定义的。

下面的示例用值为 JoePersonName 属性来实例化 Person 对象。这是在 Resources 部分中完成的,系统会为该对象分配一个 x:Key

C#
<Window
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:src="clr-namespace:SDKSample"
  SizeToContent="WidthAndHeight"
  Title="Simple Data Binding Sample">

  <Window.Resources>
    <src:Person x:Key="myDataSource" PersonName="Joe"/>


...


</Window.Resources>


...


</Window>

若要绑定到 PersonName 属性,您需要执行以下命令:

C#
<TextBlock Text="{Binding Source={StaticResource myDataSource}, Path=PersonName}"/>

因此,TextBlock 所显示的值为“Joe”。

有关完整示例,请参见简单绑定示例

更多代码

如何:指定绑定源在数据绑定中,绑定源对象指的是您从其获取数据的对象。本主题描述了指定绑定源的几种不同方法。
如何:在代码中创建绑定此示例演示如何在代码中创建和设置 Binding
如何:使用 XMLDataProvider 和 XPath 查询绑定到 XML 数据本示例说明如何使用 XmlDataProvider 绑定到 XML 数据。
如何:实现属性更改通知若要支持 OneWayTwoWay 绑定,从而使绑定目标属性能够自动反映绑定源的动态更改(例如,用户编辑窗体后,预览窗格会自动更新),类需要提供相应的属性更改通知。此示例介绍了如何创建实现 INotifyPropertyChanged 的类。
如何:指定绑定的方向此示例演示如何指定绑定是仅更新绑定目标(目标)属性或绑定源(源)属性,还是同时更新目标属性和源属性。
如何:控制文本框文本更新源的时间本主题描述如何使用 UpdateSourceTrigger 属性控制绑定源更新的执行时间。本主题使用 TextBox 控件作为示例。
如何:绑定到 ADO.NET 数据源本示例演示如何将 Windows Presentation Foundation (WPF)ListBox 控件绑定到 ADO.NETDataSet
如何:在视图中对数据进行排序此示例介绍如何在视图中对数据进行排序。
如何:筛选视图中的数据此示例演示如何筛选视图中的数据。
如何:绑定到枚举本示例演示如何通过绑定到枚举的 GetValues 方法来绑定到该枚举。
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

Windows Vista

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

.NET Framework

受以下版本支持:3.5、3.0
社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2009 Microsoft Corporation 版权所有。 保留所有权利 | 商标 | 隐私权声明
Page view tracker