0

是否可以使用 github 上的文档中描述的 MvxValueCombiner 与 IOs 项目的流畅绑定?

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

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

1 回答 1

2

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

例如,请参阅 ApiExamplesIfMaths示例:

        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", ....)

当然应该可以建造

于 2013-10-30T09:54:34.557 回答