有什么像DeselectionChangedCommand

时间:2014-04-17 05:23:44

标签: mvvmcross

我有一个带AllowMultipleSelection = true的UICollectionView,我绑定了MvxCollectionViewSource的SelectionChangedCommand,但SelectionChangedCommand仅在选择时触发。如何绑定取消选择?有什么像DeselectionChangedCommand吗?

2 个答案:

答案 0 :(得分:0)

取消选择项目时,是否使用null触发SelectionChangedCommand? 如果它不能在控制器中订阅控件的选择事件,并且在事件处理程序上调用SelectionChangedCommand为null

答案 1 :(得分:0)

感谢您的回答,但在取消选择时未触发空值。但我找到了解决方案:

public class MvxCollectionViewDSSource: MvxCollectionViewSource
{

    public MvxCollectionViewDSSource(UICollectionView collectionView)
        : base(collectionView)
    {
    }

    public MvxCollectionViewDSSource(UICollectionView collectionView,
        NSString defaultCellIdentifier)
        : base(collectionView, defaultCellIdentifier)
    {
    }

    public override void ItemDeselected(UICollectionView collectionView, NSIndexPath indexPath)
    {
        var item = GetItemAt(indexPath);

        var command = SelectionChangedCommand;
        if (command != null)
            command.Execute(item);
    }
}