码迷,mamicode.com
首页 > 其他好文 > 详细

元素绑定随笔一

时间:2015-09-23 15:05:46      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

WPF与传统WINFORM最大区别在于WINFORM是以事件为驱动贯穿在整个项目中,而WPF则以数据为驱动贯穿整个项目。

为了实现数据驱动模型,则必须依赖于某种特定的法则及方式,比如依赖项属性、元素绑定等。

元素绑定的前提需要依赖项属性的支持,对于依赖项属性,到目前为止我还一知半解,理解的并不透彻。

下面简要概述一下元素绑定:

元素Element,在WPF中无处不在。

绑定Binding,实现数据驱动的必须方式。

元素绑定其意为实现A元素的某个属性(目标)绑定为B元素的某个属性(源)。

示例一:

1 <Slider name="sliderFontSize" Value="10" Maximum="40" Minimum="1"></Slider>
2 <TextBlock FontSize=“{Binding ElementName=sliderFontSize,Path=Value}”>调节字体大小</TextBlock>

将TextBlock字体大小属性FontSize绑定到Slider的Value属性,那么Value属性的更改直接作用到了FontSize属性,前提Value是依赖项属性

ElementName为要绑定的元素名称,Path为该元素属性路径,这里使用路径而不用Property是因为有些属性下面有多级层次的关系,如:FontFamily.Source等,所以使用Path更准确一些。

该示例为单向绑定,即源属性的更改可自动通知目标属性,但目标属性更改后源是不知道的,为了实现双向的绑定可在目标元素中修改绑定模式。

示例二:

<Slider name="sliderFontSize" Value="10" Maximum="40" Minimum="1"></Slider>
<TextBlock FontSize=“{Binding ElementName=sliderFontSize,Path=Value,Mode=TwoWay}”>调节字体大小</TextBlock>

示例二修改了Binding对象的Mode属性,更改为TwoWay双向绑定,即使用后台代码直接修改TextBlock的FontSize属性,也会通知Slider的Value属性。

Mode属性的枚举值

OneWay:当源属性变化时更新目标属性

TwoWay:当源属性变化时更新目标属性,并且当目标属性变化时更新源属性

还有三种绑定模式:OneTime、OneWayToSource、Default

元素绑定随笔一

标签:

原文地址:http://www.cnblogs.com/zhkai/p/4832084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!