Silverlight中数据绑定方式,你了解了多少?
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 1682
Silverlight的数据绑定方式有三种OneTime、OneWay和TwoWay。OneTime是默认绑定方式,初次绑定完成后就和数据有没有关系了。OneWay只要数据源有改动,控件就会显示新的


  Silverlight的数据绑定方式有三种OneTime、OneWay和TwoWay。

  OneTime是默认绑定方式,初次绑定完成后就和数据有没有关系了 。

  OneWay只要数据源有改动,控件就会显示新的值 。 

  TwoWay只要数据源有改动,控件就会显示新的值;并且控件值改动时数据源也会被改动。

  OneTime是最简单的,例如xaml页面:

  <TextBlock   Name="txtBlock1" Text="{ Binding Mode=OneTime}" /> 

  后台绑定:

  txtBlock1.DataContext = “12345”;

  这样txtBlock1就会显示12345。因为Mode=OneTime是默认值,所以也可以省略掉。

  OneWay,xaml页面:

  <TextBlock   Name="txtBlock2" Text="{Binding Mode=OneWay,Path=RandomNumber}" />

  Path用来指明绑定到数据源的那个属性。

  OneWay数据源的类型必须实现INotifyPropertyChanged接口,它的成员只有一个事件PropertyChangedEventHandler,在属性值改动的时候调用这个事件,例如:

  

  RandomNumberSource类有一个属性RandomNumber,在它的set方法里触发PropertyChangedEventHandler事件。现在数据源类已经有了,我们用一个计时器模拟数据源改动时控件的值也跟着改动:   

  这个计时器每隔一秒对RandomNumber赋一个新的随机数,然后把这个对象绑定给 txtBlock2,我们也可以看得每隔一秒界面上的值就改变一次。   

  除了用后台代码绑定外,也可以绑定到某个控件。例如上面的代码里,txtBox3的Text值双向绑定到了txtBox4的,这样当txtBox3的值改变时txtBox4会改变,反之亦然。

  

  

本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。

 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2