2016-01-15 1 views
1

Я использую MvvmCross с UICollectionViews, и он работает очень хорошо до этого момента. Поскольку привязка данных довольно проста с MvvmCross, я хотел найти способ привязать клик к ячейке UICollectionView к команде (щелкните по ячейке => перейти к следующему представлению). Но я не нашел простой способ сделать это.MvvmCross: выполнить команду после UICollectionView нажмите

В настоящее время это мое связывание из источника данных в целях сбора:

var source = new MvxCollectionViewSource(TextileCollectionView, new NSString("TextileCollectionViewCell")); 
TextileCollectionView.Source = source; 

var set = this.CreateBindingSet<FirstView, FirstViewModel>(); 
set.Bind(source).To(vm => vm.SearchResults); 
//set.Bind(TextileCollectionView.Tap()).For(tap => tap.Command).To(vm => vm.ShowDetailViewCommand); 
set.Apply(); 

Закомментированный линия с связыванием крана работает, но, конечно, я не получаю щелкнула клетку и соответствующей данные.

Может ли кто-нибудь мне помочь?

ответ

0

Попробуйте это:

... 
set.Bind(source).For("SelectedItemChanged").To(vm => vm.ShowDetailViewCommand); 
set.Apply(); 
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(); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^