2017-10-30 7 views
0

iOSのMVVMCrossモデルで新しくなった。私は、tableviewセルタップを処理し、タップされたセルのインデックスを取得します。しかし、インデックスへのアクセス方法はわかりません。MVVMCross iOSテーブルビューセルバインディング

ここに私のViewコードがあります。

 var menuSource = new MenuTableViewSource(menuTableView, MenuCell.Key, MenuCell.Key); 
     this.menuTableView.Source = menuSource; 

     var set = this.CreateBindingSet<BooksView, BooksViewModel>(); 
     set.Bind(menuSource).To(vm => vm.MenuCellTexts); 
     set.Bind(menuSource).For(s => s.SelectionChangedCommand).To(vm => vm.ItemSelectedCommand); 
     set.Apply(); 

ここは私のViewModelコードです。

private MvxCommand _itemSelectedCommand; 
    public MvxCommand ItemSelectedCommand 
    { 
     get 
     { 
      _itemSelectedCommand = _itemSelectedCommand ?? new MvxCommand(DoSelectedItem); 
      return _itemSelectedCommand; 
     } 
    } 

    private void DoSelectedItem() 
    { 
     // How to get the tapped cell index here?? 
    } 

答えて

0

あなたはこのようなあなたのCommandに選択された行のオブジェクトを渡すことで、インデックスを見つけてみてくださいすることができます

private MvxCommand<YourClassName> _itemSelectedCommand; 
public MvxCommand<YourClassName> ItemSelectedCommand 
{ 
    get 
    { 
     _itemSelectedCommand = _itemSelectedCommand ?? new MvxCommand(DoSelectedItem); 
     return _itemSelectedCommand; 
    } 
} 

private void DoSelectedItem(YourClassName item) 
{ 
    // How to get the tapped cell index here?? 

    var index = MenuCellTexts.IndexOf(item); 
} 
関連する問題