是否可以使用github上的文档中所述的MvxValueCombiner并在IOs项目上实现流畅的绑定?

我想在这样的字段上连接名字和姓氏(伪代码)

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

最佳答案

当前执行此操作的唯一方法是在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", ....)


当然应该可以建造

09-10 18:57