私はクラスBookとListを持っています。 ListViewを使用してリストを表示しています。ボタンを押したときに選択した項目を削除します。 は、これは私のアプローチです:C#WPF:ListView.Selecteditemsで受け取ったアイテムをリストから削除する
private void currentlyReadingRemoveItem_Click(object sender, RoutedEventArgs e)
{
var selectedItems = CurrentlyReadingBooksListView.SelectedItems;
_currentlyReadingBooks.Except((List<Book>)selectedItems);
}
しかし、私はこのエラーを取得:
System.InvalidCastException: 'Unable to cast object of type 'System.Windows.Controls.SelectedItemCollection' to type 'System.Collections.Generic.List`1[BookshelfLibrary.Book]'.'
私は過去時間のためにこれを解決しようとしてきた、私はいくつかの他の鋳造方法を試してみましたが、私もしません他に何を知っている、私は思うにはあまりにも疲れている。 これは全体のプロジェクトです:https://github.com/GoldenDragonPC/Bookshelf
ありがとうございます。
EDIT: 作業コード。
var selectedItems = CurrentlyReadingBooksListView.SelectedItems;
var test = _currentlyReadingBooks.Except(selectedItems.Cast<Book>());
_currentlyReadingBooks = test.ToList();
WriteData(_currentlyReadingBooks, CurrentlyReadingPath);
InitializeList();
また、あなたは戻り値で何かを行うことを確認してください。 「例外」はインプレースでは機能しません。IEnumerableを返します。 – MrZander
ありがとうございますが、これは何のエラーもスローされませんが、何らかの理由で実際にリストから項目を削除するわけではありません。私は戻り値変数で何かをする必要があることを見て、数分後にそれを試してみましょう。 –
ありがとう、考え出した。 –