2013-02-05 57 views

回答

1

一個辦法是改變你的MyItemType(視圖模型的集合中使用),因此它有一個PleaseDeleteMeCommand,然後調用它像:

 public override void CommitEditingStyle(UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath) 
     { 
      if (editingStyle == UITableViewCellEditingStyle.Delete) 
      { 
       var item = (MyItemType)GetItemAt(indexPath); 
       item.PleaseDeleteMeCommand.Execute(null); 
      } 
      base.CommitEditingStyle(tableView, editingStyle, indexPath); 
     } 

另一種方法是將命令添加到擁有視圖模型代替。

 public override void CommitEditingStyle(UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath) 
     { 
      if (editingStyle == UITableViewCellEditingStyle.Delete) 
      { 
       var item = (MyItemType)GetItemAt(indexPath); 
       viewModel.PleaseDeleteItemCommand.Execute(item); 
      } 
      base.CommitEditingStyle(tableView, editingStyle, indexPath); 
     } 

兩種方式可以適用於使用聲明的數據綁定如果願意的話 - 只要綁定相關視圖模型側的ICommand到客戶端的性能。


很顯然,你也可以實現使用自定義按鈕,而不是內置的表中刪除按鈕相同的功能 - 看到視頻http://slodge.blogspot.co.uk/2013/01/uitableviewcell-using-xib-editor.html寵物店怎麼賣小貓(其中包括刪除行)。

+0

感謝它的工作,:) – Nantharupan

相關問題