Silverlight4 SelectedItemsの削除処理

ListBoxやDataGridなどを使っている場合で、選択されているものを削除したい時は要注意。
SelectedItemの削除処理は、素直に書いちゃうと自分で自分を削除するようになってしまう。
一度削除対象をListに格納してから削除ループを回すべし

private void btnヘッダ削除_Click(object sender, RoutedEventArgs e) {
 var dellist = 伝票ヘッダDataGrid.SelectedItems.Cast<伝票ヘッダ>().ToList();
 foreach (var item in dellist) {
       伝票ヘッダDomainDataSource.DataView.Remove(item);
  }

 //削除に失敗する失敗する書き方
 //foreach (伝票ヘッダ item in 伝票ヘッダDataGrid.SelectedItems
 //    伝票ヘッダDomainDataSource.DataView.Remove(item);
 //}
}

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です