原题目: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了,当然你的号令也能够传送参数,如下: