现在的位置: 首页 > 综合 > 正文

跟互联力量学Silverlight之五_XAML的单向和双向绑定

2012年07月17日 ⁄ 综合 ⁄ 共 1010字 ⁄ 字号 评论关闭

在上章内容中,互联力量描述了使用Static Resource表达式,引用其它元素的方法,本章重点谈下Silverlight XAML的各元素间的绑定。

单向绑定

我用简单和形象的例子说明这个问题,整个界面只要两个Silverlight控件:TextBlock和Slider。首先,新建Silverlight项目,先写个Slider,值的范围在1到40,当前的值是10,如下:

<Slider x:Name=”slider1″ Margin=”5″ Minimum=”1″ Maximum=”40″ Value=”10″ />

在Slider下面放个TextBlock显示文本,文本的字体大小,绑定到Slider的Value属性,如下:

<TextBlock x:Name=”txt1″ Margin=”10″ Text=”Foxitjob.com” FontSize=”{Binding ElementName=slider1, Path=Value}” />

运行,查看效果,拖动Slider后可以看到字体在变化,如图:

图1

双向绑定

你如果理解了单向绑定,会发现TextBlock是单方面受到Slider的影响,而不能反过来影响Slider,依此类推,双向绑定就是双方面能够相互影响。修改前面的例子,把TextBlock这样写,如下:

<TextBlock Margin=”10″ Text=”Simple Text” Name=”lblSampleText” FontSize=”{Binding ElementName=slider1, Path=Value, Mode=TwoWay}” />

不同之处是多了Mode=TwoWay,接着在界面上添加TextBox控件,原因是希望能通过输入,来准确的确定字体的大小,而不是单一靠拖动Slider,如下:

<TextBox Text=”{Binding ElementName=txt1, Path=FontSize, Mode=TwoWay}” />

很明显,TextBox和TextBlock是双向绑定,TextBlock和Slider也是双向绑定,运行程序后,先拖动Slider,TextBlock和TextBox跟着变化,然后在TextBox输入数字,按下键盘的Tab键,TextBlock和Slider也随之而改变,如下:

图2

版权所有 互联力量,原文出自:http://www.foxitjob.com/2010/06/334.html

抱歉!评论已关闭.