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); //} }