Data binding 是否可以使用MVVMCross 4和Xamarin.iOS将VM中的属性绑定到控制器中的本地属性

Data binding 是否可以使用MVVMCross 4和Xamarin.iOS将VM中的属性绑定到控制器中的本地属性,data-binding,xamarin,xamarin.ios,mvvmcross,local-variables,Data Binding,Xamarin,Xamarin.ios,Mvvmcross,Local Variables,我的控制器中有一个局部字符串变量,希望将其绑定到ViewModel(core)中的属性。我试过: 私有字符串文化; var bindings=this.CreateBindingSet(); bindings.Bind(culture).For(x=>x).To(viewmodel=>viewmodel.LanguageCode); bindings.Apply(); 它没有成功。 是否可以使用MvvmCross或仅使用components属性绑定局部变量?您可以在ViewController

我的控制器中有一个局部字符串变量,希望将其绑定到ViewModel(core)中的属性。我试过:

私有字符串文化;
var bindings=this.CreateBindingSet();
bindings.Bind(culture).For(x=>x).To(viewmodel=>viewmodel.LanguageCode);
bindings.Apply();
它没有成功。
是否可以使用MvvmCross或仅使用components属性绑定局部变量?

您可以在ViewController上创建属性
MyProperty
,并像以下那样进行绑定:

var bindings=this.CreateBindingSet();
bindings.Bind(this).For(x=>x.MyProperty).To(viewmodel=>viewmodel.LanguageCode);
bindings.Apply();
MvvMCross需要
中的表达式来提取属性名。这个表达式的形式必须是
x=>x.Property
,或者
x=>x.Property.SubProperty
,等等。第二个问题是,局部变量——顾名思义——是局部的。因此,当您离开函数时,它们将被清理干净。这就是为什么我强烈建议引入一个额外的属性