小编d4n*_*13l的帖子

无法绑定到mvvmcross中的ios表节单元,子单元按预期方式绑定

我正在尝试创建具有分组部分的TableView,如下所示:

具有部分的TableView

我将组列表绑定到表。一个组包含一些字符串属性和一个项目列表,而一个项目也包含一些字符串属性。组和项目单元格都有各自的扩展类MvxTableViewCell

在类中,我要绑定的每个单元格如下:

项目单元格:

 this.DelayBind(() =>
                {
                    var set = this.CreateBindingSet<ItemCellView, ItemCellViewModel>();
                    set.Bind(lblOne).To(item=> item.propertyOne);
                    set.Apply();
                });
Run Code Online (Sandbox Code Playgroud)

和组单元格:

this.DelayBind(() =>
                    {
                        var set = this.CreateBindingSet<GroupCellView, GroupCellViewModel>();
                        set.Bind(lblOne).To(group=> group.propertyOne);
                        set.Apply();
                    });
Run Code Online (Sandbox Code Playgroud)

主视图中的My TableSource扩展MvxStandardTableViewSource并使用重写的方法来获取表的各个单元格。public override UIView GetViewForHeader返回组单元格视图,而protected override UITableViewCell GetOrCreateCellFor返回项目单元格视图。

我的问题是,即使我看不到两者之间没有明显区别,组视图单元格也不会绑定,而项目视图单元格则绑定得很好。但是,正在构建组视图单元,只是单元内部没有发生绑定。

编辑:添加了表格视图源:

private class TableSource : MvxStandardTableViewSource
        {
            private List<GroupCellViewModel> _groups;
            public new List<GroupCellViewModel> ItemsSource
            {
                get
                {
                    return _groups;
                }
                set
                {
                    _groups = value;
                    ReloadTableData();
                }
            }

            public TableSource(UITableView tableView)
                : base(tableView)
            { …
Run Code Online (Sandbox Code Playgroud)

c# ios mvvmcross xamarin

2
推荐指数
1
解决办法
2628
查看次数

标签 统计

c# ×1

ios ×1

mvvmcross ×1

xamarin ×1