可能重复:
WPF 列表框:删除项目
我在这里面临一个非常奇怪的问题。我想要做的只是从 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);
}