silverlight中数据绑定讲解

silverlight中数据绑定讲解,第1张

概述  下面我们开始讲解silverlight中一个比较重要的知识——数据绑定。 我们对于数据绑定并不陌生,在我们ASP.NET中就涉及到了数据绑定,像我们之前学的DataList,GridView,repeater等这些数据源控件是不是都可以给它设置一个数据源,然后让这些数据源控件绑定数据源的数据,然后在我们的前台界面中显示出来。 OK,那么我们silverlight中也是一样的。 下面我们来看这样

 

下面我们开始讲解silverlight中一个比较重要的知识——数据绑定。

我们对于数据绑定并不陌生,在我们ASP.NET中就涉及到了数据绑定,像我们之前学的DataList,GrIDVIEw,repeater等这些数据源控件是不是都可以给它设置一个数据源,然后让这些数据源控件绑定数据源的数据,然后在我们的前台界面中显示出来。

OK,那么我们silverlight中也是一样的。

下面我们来看这样一个例子:

 

我在页面中放一个textBox和一个SlIDer,我们知道SlIDer有一个Value值,默认为0,那么现在我要实现这样一种效果,当我拖动SlIDer上的滑块时,我要让textBox的文本框中现实出来Value的当前值。

回想下,我们在学ASP.NET的数据绑定的时候,比如我们要让DataList绑定数据,是不是要给它设置一个数据源,然后再调用bind方法想可以呀?

那么,在我们silverlight中,我们在silverlight中进行数据绑定,需要调用到Binding这个类,而这个类所做的命名空间是:System.windows.Data

好的,首先我们第一步,引用命名空间。

然后我们要想让它在界面一加载的时候就进行数据绑定,那么我们就在LayoutRoot_Loaded事件中添加我们的绑定代码:

好的,第二步,我们实例化一个Binding类的一个实例,这个类的构造函数有两个,我们采取第二种方式。

它要求我们穿一个string类型的,数据源的初始属性路径,也就是说,我们要绑定数据源的哪个属性,这里我们要绑定的是SlIDer的Value属性,那么我们的代码就应该这样写:

Binding b = new Binding("Value");

下面第三步,设置b的数据源为slIDer1,代码如下:

b.source = slIDer1;

第四步,我们要设置绑定的模式,绑定模式有三种,我们先用OneTime这种模式,等下再详细说下这几种模式的区别。

b.Mode = BindingMode.OneTime;

最后,我们调用textBox1的SetBinding方法就可以了,注意,SetBinding方法第一参数是要传一DependencyProperty

的参数,也就是可依赖属性,我们先这样写,等下看效果。

textBox1.SetBinding(TextBox.TextProperty,b);

 

我们可以看到,其实slIDer的值已经绑定过来了,它默认是0,现在在textBox中显示的也是0,那么为什么我拖动它没反应呢?大家还记得刚才的绑定模式么?我说了有3种,那么第一种OneTime叫做一次绑定,也就是说只能绑定一次,那么还有两种OneWay,单向绑定。TwoWay,双向绑定,我们分别试试。

b.Mode = BindingMode.OneWay;

可以看到,我现在滑动slIDer滑块值,那么textBox的值也跟着变了,那么双向绑定是个什么意思呢?

我们知道,这里我是把slIDer作为数据源,当slIDer的Value值发生改变时,textBox的Text值也跟着改变。

那么,假如我现在想更改textBox的Text值,我让slIDer也跟着变,怎么办呢?这时候我们及用到了双向绑定。

也就是互为数据源。

OK,那么我们完整的代码如下:

 private voID LayoutRoot_Loaded(object sender,RoutedEventArgs e)         {             Binding b = new Binding("Value");             b.source = slIDer1;             b.Mode = BindingMode.TwoWay;             textBox1.SetBinding(TextBox.TextProperty,b);         }

总结

以上是内存溢出为你收集整理的silverlight中数据绑定讲解全部内容,希望文章能够帮你解决silverlight中数据绑定讲解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1064828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存