为什么要定义一个类型,为了方便尽量不操作控件。MVVM、MVC。
1、定义类,定义属性。
2、new一个类的实例,给要绑定的控件设定DataContext
txtName.DataContext =p1;
3、XAML中要进行数据绑定的属性
Text="{Binding Name}",几乎所有属性都能进行这样的数据绑定。
Text="{Binding Name}",把控件的Text属性绑定到DataContext指向的p1对象的Name属性上。
由于普通对象没有“通知我的属性变了”这么一种机制,所以改变对象的属性界面不会变。但是界面改变是有TextChanged之类的事件的,所以改变界面可以同步修改到对象。
如果要求后台对象的值发生改变界面跟着变,则需要类实现INotifyPropertyChanged接口,并且在属性值变化后触发事件。
如果说后台对象的值不会变,则没必要实现INotifyPropertyChanged接口
例子:
class Person:INotifyPropertyChanged
{
private int age;
public int Age
{
get
{
return age;
}
set
{
this.age=value;
if(PropertyChanged!=null)
{
PropertyChanged(this,new PropertyChangedEventArgs("Age"));
}
}
}
}