学Silverlight 2系列(11):数据绑定
2008-10-03 11:36:17 来源:WEB开发网private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
User user = new User();
user.Name = "TerryLee";
user.Address = "中国 天津";
lblName.DataContext = user;
lblAddress.DataContext = user;
}
运行示例后,可以看到:
上面这种数据绑定模式,只是显示数据而不对数据做任何修改,默认的绑定模式是一次绑定OneTime。
单向绑定示例
如果需要在数据源发生变化时能够通知UI进行相应的更新,即使用单向绑定OneWay或者双向绑定TwoWay,则业务实体需要实现接口INotifyPropertyChanged。在本示例中,我们加上一个更新按钮,当单击按钮时更新user实例的属性值,会看到界面上的数据也会发生变化。
修改一下User类,使其实现INotifyPropertyChanged接口。
public class User : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
if(PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Name"));
}
}
}
private string _address;
public string Address
{
get { return _address; }
set
{
_address = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Address"));
}
}
}
}
修改数据绑定模式,使用单向绑定OneWay模式,如{Binding Address, Mode=OneWay}
Tags:Silverlight 系列 数据
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接