[Silverlight]实现到自定义类型的属性数据绑定
2010-05-09 22:15
295 查看
在当前的.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"。点击按钮后的效果:
实现到自定义类型的属性数据绑定过程就是这样,手段很简单,但是使用价值很大。
现在有一个表单界面,上面要显示顾客的详细信息,包括名称,年龄,性别。
以下是自定义类型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"。点击按钮后的效果:
实现到自定义类型的属性数据绑定过程就是这样,手段很简单,但是使用价值很大。
相关文章推荐
- Silverlight数据绑定之 绑定一个int类型的属性
- WPF数据绑定实现自定义数据源
- Silverlight自定义数据绑定控件应该如何处理IEditableObject和IEditableCollectionView对象
- SpringMVC自定义日期类型的数据绑定
- 利用抽象工厂实现自定义多数据类型接口
- Angular2实现自定义双向绑定属性
- WPF and Silverlight 学习笔记(二十五):使用CollectionView实现对绑定数据的排序、筛选、分组
- WPF and Silverlight 学习笔记(二十一):数据绑定值的自定义转换
- WPF and Silverlight 学习笔记(二十五):使用CollectionView实现对绑定数据的排序、筛选、分组
- Android中ListView同过自定义布局并使用SimpleAdapter的方式实现数据的绑定
- 自定义日期类型的数据绑定 前台 - 后台 或 后台 - 前台 互相转换
- 自定义可绑定数据的业务对象实体和强类型-Part Two
- WPF and Silverlight 学习笔记(二十二):使用代码实现绑定、绑定数据的验证
- Hibernate的自定义数据类型实现接口——UserType详解
- CYQ.Data 轻量数据访问层(八) 自定义数据表实现绑定常用的数据控件(中)
- SpringMVC 使用HandlerMethodArgumentResolver自定义解析器实现请求数据绑定方法入参
- avalon2简单数据绑定(自定义属性绑定)
- asp.net mvc源码分析-DefaultModelBinder 自定义的普通数据类型的绑定和验证
- Silverlight 数据绑定 (1):怎样实现数据绑定 &&Silverlight 数据绑定 (2):Source to Target
- Hibernate的自定义数据类型实现接口之一——UserType祥解