重複の可能性:
WPF ListBox: アイテムの削除
ここで本当に奇妙な問題に直面しています。私がやろうとしているのは、WPF のリストボックスから項目を削除することだけなので、コードは次のとおりです。
private void button9_Click(object sender, RoutedEventArgs e)
{
if (listBox7.SelectedItems.Count > 0)
{
foreach (string item in listBox7.SelectedItems)
{
listBox7.Items.Remove(item);
}
}
}
そして、それはまったく機能していません。[foreachループで]常にエラーメッセージが表示されます。
Collection was modified; enumeration operation may not execute.
私はその方法を何年も使用しているので、これは本当に面倒です。ところで、私は WPF に慣れていませんが、C# には十分な経験があるので、それで問題ありません。
編集:ええと、「何年も使用しています」と入力したときに、他のことについて話していることがわかりました
とにかくここに修正があります:
List<string> removals = new List<string>();
foreach (string item in listBox7.SelectedItems)
{
removals.Add(item);
}
foreach (string s in removals)
{
listBox7.Items.Remove(s);
}