您的位置:首页 > 其它

[Silverlight]实现到自定义类型的属性数据绑定

2010-05-09 22:15 288 查看
  在当前的.NET程序中,会经常使用到数据绑定,因为使用数据绑定,可以大大简化一个常用过程——数据源发生变化,反应数据源的数据视图进行相应更新。谈及这个过程,很容易会联想起设计模式中的观察者模式,很明显,数据绑定的设计是这个模式的一种实现。本文使用以下例子说明如何在Silverlight或者WPF中实现到自定义数据类型的属性的数据绑定。

  现在有一个表单界面,上面要显示顾客的详细信息,包括名称,年龄,性别。

  以下是自定义类型Customer的代码:

代码

public partial class MainPage : UserControl
{
public MainPage()
{

   InitializeComponent();

}

private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
stp_customerInfo.DataContext = new Customer() { CustomerName = "Agile", Age = 18, IsMale = true };
}

  private void btn_changeName_Click(object sender, RoutedEventArgs e)
{
Customer c = stp_customerInfo.DataContext as Customer;

c.CustomerName = "Foo";
}

}

  上面的代码是一个非常简单的客户信息表单控件。在控件的Loaded事件中,为容器stp_customerInfo设置了一个硬编码的数据源,也就是一个Customer实例。而在容器中的三个TextBlock控件会继承这个数据源(当然也可以逐个TextBlock设置同一个Customer作为数据源)。运行该Silverlight程序会有以下结果:



然后,当点击按钮,从按钮的事件处理代码可以看到,该事件处理程序会获取原来已经设置的Customer实例,然后修改其CustomerName属性为"Foo"。点击按钮后的效果:



实现到自定义类型的属性数据绑定过程就是这样,手段很简单,但是使用价值很大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐