使用Xamarin MVVM-light ObservableTableViewController绑定(iOS)自定义UITableVIewSource?

时间:2015-12-14 13:57:25

标签: ios xamarin mvvm-light

所以我建立了一个表列表视图,就像Laurent Bugnion的鲜花示例一样,一切正常。但是什么时候我想使用编辑(删除滑动等)功能。

如何使用自定义uitableviewsource创建表视图控制器?

2 个答案:

答案 0 :(得分:4)

我刚刚在MVVM Light V中完成了一项新功能,您可以执行以下操作。

  • 使用MyCollection.GetObservableTableViewSource(...)返回ObservableTableViewSource。
  • 使用传递给GetObservableTableViewSource的可选工厂(委托),它允许您创建一个从ObservableTableViewSource派生的全新类,以扩展和覆盖方法。
  • 使用ObservableCollectionViewSource为CollectionViews执行完全相同的操作。

我正在完成这些功能的示例,并将在本周末将代码推送到Codeplex(包括博客文章)。这将在V5.3中发布,如果一切顺利,将于2月底发布。

你现在可以做的就是这样(在UITableViewController中):

public override void ViewDidLoad()
{
    var c = Vm.Items.GetController(CreateCell, BindCell);
    c.TableView = TableView;
    base.ViewDidLoad();
}

但这并不令人满意,因为c.TableView的类型是受保护的类,因此无法扩展或轻松访问。

答案 1 :(得分:1)

您需要创建自己的TableSource,实际实现并不提供这些选项。