MvvmCross:在UICollectionView单击后执行命令

时间:2016-01-15 13:46:50

标签: c# ios xamarin mvvmcross

我正在使用MvvmCross和UICollectionViews,到目前为止它工作得非常好。 由于使用MvvmCross数据绑定非常简单,我想找到一种方法将UICollectionView单元格上的点击绑定到命令(单击cell =>导航到下一个视图)。但我还没有找到一种简单的方法。

目前这是我从数据源到集合视图的绑定:

ForwardOnly

带有水龙头绑定的注释行有效,但当然我没有得到点击的单元格和相应的数据。

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

这是我在Xamarin.iOS上使用的MvxCollectionViewController

    public sealed override void ViewDidLoad ()
    {
        if (!_isInitialised)
            return;

        base.ViewDidLoad ();

        CollectionView.RegisterNibForCell (MovieCollectionViewCell.Nib, MovieCollectionViewCell.Key);
        var source = new MoviesCollectionViewDataSource (ViewModel, CollectionView, MovieCollectionViewCell.Key);
        CollectionView.Source = source;

        this.CreateBinding(source).To<HomeViewModel>(vm => vm.MoviesSections).Apply();
        this.CreateBinding(source).For(s => s.SelectionChangedCommand).To<HomeViewModel>(vm => vm.ShowDetailViewCommand).Apply();

        CollectionView.ReloadData();
    }

答案 1 :(得分:0)

试试这个:

...
set.Bind(source).For("SelectedItemChanged").To(vm => vm.ShowDetailViewCommand);
set.Apply();