MvxValueCombiner を github のドキュメントに記載されているように、IOs プロジェクトの流暢なバインディングで使用することはできますか?
このようなフィールドで名と姓を連結したい (疑似コード)
set.Bind(SubRightLbl).To(vm => vm.user).Add("vm.user.firstname", "vm.user.lastname");
MvxValueCombiner を github のドキュメントに記載されているように、IOs プロジェクトの流暢なバインディングで使用することはできますか?
このようなフィールドで名と姓を連結したい (疑似コード)
set.Bind(SubRightLbl).To(vm => vm.user).Add("vm.user.firstname", "vm.user.lastname");
To
現在これを行う唯一の方法は、またはSourceDescribed
fluent 拡張機能でフリー テキストを使用することです。
たとえば、ApiExamplesIf
とMaths
例を参照してください。
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", ....)
確かに構築できるはずです