关于C#中 INotifyPropertyChanged 的学习

关于C#中 INotifyPropertyChanged 的学习

**1、**第一次看到别人在C#-WPF程序中用INotifyPropertyChanged,感觉有点高端,但又不明白这个类到底有什么实际意义直到后来在学习 绑定时,在搜索中才发现 INotifyPropertyChanged 可以将 控件的某个属性与某个变量进行绑定(属性与变量需为同一类型)
例如:自定义string 类型变量 str , 同时From中有一文本框控件 textBox1,故可以将 str 与 textBox1的Text属性进行绑定,以达到当 textBox1的Text属性值变化时,str的值也会自动随之变化,当str的值变化时, textBox1的Text属性值也会随之变化(同时表现在UI上)。

2、 下面用一个小例子来演示:

①、首先自定义类 Customer
关于C#中 INotifyPropertyChanged 的学习
②、Customer 里包含4个私有变量 x、y、z、r(小写),然后定义4个public变量 X、Y、Z、R(大写)
关于C#中 INotifyPropertyChanged 的学习
关于C#中 INotifyPropertyChanged 的学习
③ 创建用户控件 (该用户控件包含4个textBox)(创建用户控件不是本章重点,故在此简写,在下章再做重点介绍)
关于C#中 INotifyPropertyChanged 的学习
关于C#中 INotifyPropertyChanged 的学习

④、接着实例化 Customer 类,并在 Form_Load 中进行绑定,代码如下
关于C#中 INotifyPropertyChanged 的学习
⑤、接着再说UI部分 ,将我们编写好的用户控件拖到主界面上,然后随意拖动几个button在主页面上,这几个button的作用就是在其单击事件里改变变量的值,然后观察textBox的Text值是否随之改变
关于C#中 INotifyPropertyChanged 的学习
关于C#中 INotifyPropertyChanged 的学习

⑥、运行程序,开始测试
关于C#中 INotifyPropertyChanged 的学习
然后单击 button2,此时我们将用户控件对应的X的textBox的Text的值改变了,接下来我们要观察与之绑定的变量是否发生了变化,
点击button3 即可。
关于C#中 INotifyPropertyChanged 的学习
3、最后对数据绑定的关键方法做一简单解释
关于C#中 INotifyPropertyChanged 的学习