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

2016-08-20 10:54:10来源:http://huwlnew.blog.51cto.com/1705205/342658作者:huwlnew人点击


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


单向绑定


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


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


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


<TextBlockx:Name=”txt1″ Margin=”10″ Text=”Foxitjob.com” FontSize=”{BindingElementName=slider1, Path=Value}” />


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



图1



双向绑定


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


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


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


<TextBoxText=”{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


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台