绑定的CheckboxElement不会正确更新其UI

时间:2014-05-22 10:12:08

标签: binding xamarin mvvmcross

要在iOS中使用MvvmCross创建一个可绑定的复选框列表,我创建了一个视图类,其中包含一个checkbox元素,该元素绑定到项目视图模型:

public class CheckListItemView : BaseView
{
    public CheckListItemView()
    {
        var set = this.CreateBindingSet<CheckListItemView, CheckListItemViewModel>();

        var item = new CheckboxElement();

        set.Bind(item).For(v => v.Value).To(vm => vm.IsChecked).TwoWay();

        set.Apply();

        this.CheckboxElement = item;
    }

    public new CheckListItemViewModel ViewModel
    {
        get { return base.ViewModel.As<CheckListItemViewModel>(); }
        set { base.ViewModel = value; }
    }

    public Element CheckboxElement { get; set; }
}

不幸的是,在这种情况下,绑定不太可靠:我有一个按钮,用于检查所有已检查的项目和一个取消检查所有框的项目。

foreach (var checkListItemViewModel in checkList)
{
    checkListItemViewModel.IsChecked = value;
}

如果我一直按下这两个按钮,在某些时候UI不会正确更新检查状态。但背景中的值是正确的。

0 个答案:

没有答案