站点图标 江湖人士

C使用Xamarin开发可移植移动应用(4进阶篇MVVM双向绑定和命令绑定)附源码

C使用Xamarin开发可移植移动应用(4进阶篇MVVM双向绑定和命令绑定)附源码

原题目:C#利用Xamarin开辟可移植挪动使用(4.进阶篇MVVM双向绑定和号令绑定)附源码

今天我们讲讲Xamarin中的MVVM双向绑定,嗯..需要有必然的MVVM根本.,具体什么是MVVM – -,请百度,我就不多讲了

起首,我们会发觉ContentPage的xmlns定义中多了一个local的定义.这个很主要,他是用来让我们在xaml中援用其他法式集中的类,雷同于Using的感化.

我们承继了INotifyPropertyChanged,从类名就能够看出来,这个是关于实现属性变动事务的一个接口.

他包含一个PropertyChanged,属性变动事务,我们需要在每个属性变动的时候(也就是Set中),挪用它

在具体的开辟过程中,若是你需要利用MVVM那么你所有的ViewModel都该当承继它.

然后我们回到Xaml中的BindingContext,它的感化就一目了然了,给这个Xaml控件,绑定一个上下文对象,也就是你定义的ViewModel,来便利你绑定此中的属性

我们在机关函数中启动的按时法式,就会不断更新DateTime,对应的,页面上也会不断跟着变动.如许我们就实现了一个根本的MVVM

我们建立三个数值,他们与控件Slider来绑定,并节制.更新值的同时,乞降.获得NumSun的值.

在界面中,我们有一个清空的Button来断根这个ViewModel中的值.

然后就逐个对应的在xaml中绑定了相关的属性.所有的Slider绑定中都有个Mode=TwoWay,意义就是,这个属性为双向绑定,在控件中变动它的同时,也会在ViewModel中变动.

先注释一下,为什么会有号令绑定这个工具,由于我们利用双向绑定的时候,页面的点击事务,并不克不及间接挪用到ViewModel,所以就衍生了一个叫号令绑定的工具.来和我们控件的各类事务相联系关系.

如许,就能够间接挪用到ViewModel了,当然你的号令也能够传送参数,如下:

退出移动版