在mvvmcross绑定后,Xamarin iOS按钮被禁用

时间:2017-09-26 10:24:58

标签: xamarin.ios mvvmcross

我有一个绑定到mvxCommand的按钮。绑定后,按钮被禁用。在绑定之前,他已启用。

任何能告诉我为什么会这样的人?

我的观点:

public override void ViewDidLoad()
        {
            Debug.WriteLine("VatButton6 = " + VatButton6.Enabled); // this is true
            var set = this.CreateBindingSet<CreatePaymentView, CreatePaymentViewModel>();
            set.Bind(AmountTxt).To(vm => vm.Amount);
            set.Bind(ReferenceTxt).To(vm => vm.Reference);
            set.Bind(VatButton6).To(vm => vm.RegisterVatCommand); //CommandParameter("21%");
            set.Apply();

            Debug.WriteLine("VatButton = " + VatButton6.Enabled); // this is false;
        }

我的命令:

public IMvxCommand RegisterVatCommand
    {
        get { return new MvxCommand(RegisterVat); }
    }

    public void RegisterVat()
    {
    //    switch (vat) 
    //    {
    //        case "21%":
    //            Vat = 21;
    //            break;
    //        case "6%":
    //           Vat = 6;
    //            break;
    //        case "0%":
    //            Vat = 0;
    //            break;
    //        case "nvt":
    //            Vat = -1;
    //            break;
    //        default:
    //            throw new ArgumentException("invalid button title");
    //    }
    }

2 个答案:

答案 0 :(得分:0)

我还无法发表评论,但您可以尝试删除其他两个绑定

    set.Bind(AmountTxt).To(vm => vm.Amount);
    set.Bind(ReferenceTxt).To(vm => vm.Reference);

然后测试它是否有效?

我复制了你的代码,它对我来说很好,所以没有任何问题。

答案 1 :(得分:0)

尝试在构造函数

中添加命令