您如何正确地继承MvxCollectionViewSource的子类?

时间:2018-07-02 23:26:50

标签: xamarin xamarin.ios mvvmcross

实施自定义MvxCollectionViewSource的诀窍是什么?

我将其子类化,并提供了GetCell()的实现,但是结果单元格没有数据绑定。当我使用开箱即用的MvxCollectionViewSource时,它可以工作。

这是101个用例,所以我一定做错了。我正在使用MvvmCross 5.7。任何帮助,将不胜感激?

1 个答案:

答案 0 :(得分:1)

GetCellMvxCollectionViewSource中的

MvxTableViewSource和其他变体在那里进行绑定。因此,如果您重写该方法,则您有责任进行绑定。

如果您只想提供自己的单元格,则应改写GetOrCreateCellFor。在GetCell中使用此方法来获取实际的单元格并将其绑定到通过调用GetItemAt找到的项。

因此改写GetOrCreateCellFor

protected override UICollectionViewCell GetOrCreateCellFor(
    UICollectionView collectionView, NSIndexPath indexPath, object item)
{
    var cell = collectionView.DequeueReusableCell(MyCustomCell.Identifier, indexPath) as MyCustomCell;
    if (cell == null)
        cell = new MyCustomCell();

    return cell;
}