2013-10-30 28 views
0

是否有可能使用MvxValueCombiner,如github上的文档中所述,在IO项目上使用流畅的绑定?流畅绑定的mvvm ValueCombiners()

我想串连名字在这样的(伪代码)字段&姓

set.Bind(SubRightLbl).To(vm => vm.user).Add("vm.user.firstname", "vm.user.lastname"); 

回答

1

到目前做到这一点的唯一方法是在ToSourceDescribed流利的扩展使用自由文本。

例如,看到ApiExamples IfMaths例子:

 var set = this.CreateBindingSet<MathsView, MathsViewModel>(); 
     set.Bind(label1).To(vm => vm.TestVal1); 
     set.Bind(seek1).To(vm => vm.TestVal1); 
     set.Bind(label2).To(vm => vm.TestVal2); 
     set.Bind(seek2).To(vm => vm.TestVal2); 
     labelA.Text = "Add"; 
     set.Bind(labelB).SourceDescribed("TestVal1 + '+' + TestVal2 + '=' + (TestVal1 + TestVal2)"); 
     labelC.Text = "Subtract"; 
     set.Bind(labelD).SourceDescribed("TestVal1 + '-' + TestVal2 + '=' + (TestVal1 - TestVal2)"); 
     labelE.Text = "Multiply"; 
     set.Bind(labelF).SourceDescribed("TestVal1 + '*' + TestVal2 + '=' + (TestVal1 * TestVal2)"); 
     labelG.Text = "Divide"; 
     set.Bind(labelH).SourceDescribed("TestVal1 + '/' + TestVal2 + '=' + (TestVal1/TestVal2)"); 
     labelI.Text = "Modulo"; 
     set.Bind(labelJ).SourceDescribed("TestVal1 + '%' + TestVal2 + '=' + (TestVal1 % TestVal2)"); 
     set.Apply(); 

https://github.com/MvvmCross/MvvmCross-Tutorials/blob/master/ApiExamples/ApiExamples.Touch/Views/FirstView.cs#L699


另外,如果你想创建自己的扩展方法,为您提供所需的功能,即当然应该是可能的 - 一个表达式组合器像

.Combine("CombinerName", "Expression0", "Expression2", ....) 

应该可以建立