场景介绍
假设我们有一个实体类,需要将它的属性绑定到控件的某个属性(如TextBox.Text)上去。绑定会两个情况,单向绑定和双向绑定。
首先我们假定有一个用于数据绑定的实体类:
class Enbox
{
public string Payor { get ;set }
}
然后创建这个对象:
Enbox enbox =new Enbox()
一、控件的单向数据绑定(控件-->对象)
单向绑定是最简单的数据绑定,即将控件的某个属性绑定到实体类的属性上去,只要一条语句就行。
TextBox.DataBindings.Add("Text", enbox, "Payor");
意思是将 TextBox.Text 属性绑定到 enbox.Payor 属性上。结果就是只要 TextBox.Text 属性的值一改变,就会立即被更新到 enbox.Payor 属性上。
二、控件的双向数据绑定(控件<-->对象)
顾名思义,就是不但能将控件的某个属性更新到实体类的某个属性上去,同时还能反向将实体类的属性更新到控件的属性上去
要实现双向数据绑定除了上面的绑定语句外,还需在实体类 Enbox 实现一个接口:INotifyPropertyChanged 这是实现双向绑定的关键
这个接口就是一个事件方法。实现代码如下: