关于WPF中的数据绑定,初步探讨
数据绑定属于WPF中比较核心的范畴,以下是对WPF中数据绑定的一个初步探讨。个人感觉还是带有问题性质的叙述比较高效,也比较容易懂
第一,什么是数据绑定?
假定有这么一个场景,定义两个元素,TextBox(文本控件)与ProcessBar(进度条),如果要达到这么一个效果——当ProcessBar的属性Value变化时,TextBox中的属性FontSize也跟着变化,需要怎么做?
没错,这个时候就需要引入数据绑定的概念了(当然也可以用观察者模式来实现这个,但是有比这个更简单更方便更官方的数据绑定啊)。
第二,数据绑定有哪几种?
元素到元素的绑定(请看上面的红字内容)
元素到非元素的绑定
第三,怎么实现?
元素到元素的实现
这个应该是最简单的,直接上代码
<ProcessBar Name="setFontSize" Value="10"/>
<TextBox Name="showFontSize" Text="This is Show" FontSize={Binding ElementName=setFontSize ,Path=Value}" />
这里需要注意的是,绑定表达式语法(红色高亮):{Binding ElementName=setFontSize,Path=Value },setFontSize就是要绑定的元素名称,Path就是要绑定的元素的属性。
元素到非元素的实现,这里有三个方法
第一,使用Source属性
第二,使用RelativeSource属性
第三,使用RelativeSource属性
第四,暂时结束
技术的路线图是曲线的,并不是线性的,讲到这里暂停一下,最主要的原因是,元素到非元素的绑定涉及到其他WPF中的知识(例如资源的概念),当写完资源等相关的概念后在深入数据绑定。