【WPF学习】05 数据绑定
如何实现WPF窗口内元素控件之间的数据绑定
传统方式——先在XAML界面为对应控件设置建立相互关联所需要的属性,再在窗口后台编写业务代码
这里以一个滑动条slider和三个文本框textbox之间的数据绑定为例:
按照传统方式:
后台业务代码:
但在WPF里我们无需编写这种数据转换和传值的业务编码,通过绑定机制就可以实现这种需求:
运行结果:
由此可以看到,通过数据绑定可以避开编写后台业务代码且保证了XAML界面的简洁,同时又实现了元素控件之间的双向数据绑定
那如果不希望这种数据绑定是双向的,那我们可以通过绑定的模式设置来修改
Default 即为默认的双向绑定模式,与TwoWay模式相同
OneTime 表示该元素控件只绑定目标元素控件的初值,一旦绑定即不可更改(绑定且只绑定一次)
OneWay 表示建立从目标元素控件到当前元素控件的单向数据传输,即当前元素控件的值会随着绑定目标元素控件的值的改变而对应改变,但反之不会
OneWayToSource 与OneWay相反,表示建立从当前元素控件到目标元素控件的单向数据传输,即绑定目标元素控件的值会随着当前元素控件的值的改变而改变,但反之不会
除了上面直接绑定元素控件外,通过DataContext也可以将构造类的String类型字段值传入WPF界面的TextBox中:
例如我们先新建一个Class1测试类
在这个类中声明一个string类型字段Name
然后在XAML界面当前待绑定值的元素控件里建立对Class1的Name字段的绑定
再在WPF后台编写业务代码(将Class1实例化并赋值,再将对象的值传到DataText)
运行结果: