数据绑定帮助隔离应用程序的用户界面层和其他层,如业务对象、数据等等。通过绑定对象,实现用户界面层和底层的隔离。
在Silverlight 2中,支持三种模式的数据绑定。
2.OneWay:单向绑定,在绑定创建时或者源数据发生变化时更新到目标,适用于显示变化的数据。
3.TwoWay:双向绑定,在任何时候都可以同时更新源数据和目标。
本文只示例一次绑定中的常用问题,至于其它请参看另一篇文章"SilverLight学习笔记--Silverlight中INotifyPropertyChanged 接口在数据绑定中的使用 "
,在这篇文章里比较详细的示范了三类绑定模式的工作情况以及如何使用INotifyPropertyChanged接口实现绑定数据同步。
下面开始我们的示例。
新建一个Silverlight应用程序命名:SLDataBinding。
在这个应用程序中,我们将实现以下示例
2、如何在后台代码中设置绑定属性
3、如何绑定数据集数据源
4、如何利用模板进行数据绑定。
在本例中,我们使用了ListBox来显示数据,对于ListBox的绑定有如下说明:
如果ListBox中属性设置为 ItemsSource="{Binding Mode=OneWay}",则在此处设置DataContext 即:this.lstPeopleTemple.DataContext = PmyPeople.MyPeople,
原因是ListBox 通过 ItemsSource 里的数据去填充数据项,所以直接给这个属性赋值是可以的 即:this.lstPeopleTemple.ItemsSource = PmyPeople.MyPeople;
或者, 通过空绑定语法 {Binding},指定 ItemsSource 属性绑定为数据源的对象本身(未指定绑定路径)。而数据源就是通过 DataContext 获得的,并且这个属性的数据可以从父对象继承下来。
具体内容见代码部分.
首先建立程序界面,代码如下:
界面如下图
其次,我们需要建立绑定所需的数据源,在此,我们新建两个类,一个名为Person,一个名为People,
Person类定义如下:
}
}
}
People类定义如下:
}
}
}
Page.xaml.cs全部代码如下:
程序运行效果如下: