2013-10-30 68 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", ....) 

應該可以建立