2016-10-10 42 views
0

结合在一个Android布局文件MvxBind属性的视图模型属性通常MvvmCross语法如下:MvvmCross MvxBind语法绑定到视图模型本身(不ViewModel.Property)

<SomeControl 
    local:MvxBind="ViewProperty ViewModelProperty" /> 

所以要访问ViewModel.ViewModelProperty我只需输入属性名称即可。

但访问ViewModel本身(不是其属性之一)的正确语法是什么?

随着流利的API,你也许可以做这样的事情(未测试):

this.CreateBindingSet<SomeView, string>() 
    .Bind(someControl) 
     .For(v => v.Text) 
     .To(vm => vm) 
    .Apply(); 

什么是等效的,随着布局文件MvxBind语法?

回答

2

是的。 A .应该这样做。

<SomeControl local:MvxBind="ViewProperty ." /> 

但还有一个更短的方式(我不使用) https://github.com/MvvmCross/MvvmCross/wiki/databinding#swiss

如果$ SOURCEPATH $省略或单句点 “”被使用,那么使用的源是整个ViewModel。

所以,你应该能够只是做这样的事

<SomeControl local:MvxBind="ViewProperty" /> 
+0

两种语法都可以正常使用! – lauxjpn