C# 删除列表框中的重复项

C# 删除列表框中的重复项,c#,wpf,listbox,C#,Wpf,Listbox,我需要删除WPF列表框中的一些项目,我使用以下代码: while (ListBox.SelectedItems.Count > 0) { ListBox.Items.Remove(ListBox.SelectedItem); } 但问题是我的列表框包含几个相同的项目,例如: chocolate milk orange milk banana apple milk 如果我在第四个位置选择第二次出现的牛奶,并尝试使用给定代码删除它,它将删除第二个位置出现的第一次牛奶(未选择)和第四个位

我需要删除WPF列表框中的一些项目,我使用以下代码:

while (ListBox.SelectedItems.Count > 0)
{
  ListBox.Items.Remove(ListBox.SelectedItem);
}
但问题是我的列表框包含几个相同的项目,例如:

chocolate
milk
orange
milk
banana
apple
milk
如果我在第四个位置选择第二次出现的牛奶,并尝试使用给定代码删除它,它将删除第二个位置出现的第一次牛奶(未选择)和第四个位置出现的第二次牛奶

我也尝试过:

while (ListBox.SelectedItems.Count > 0)
{
  ListBox.Items.RemoveAt(ListBox.Items.IndexOf(ListBox.SelectedItem));
}
但结果是一样的

有谁能给我一点线索吗?

试试这个

if (ListBox.SelectedItem != null)
{
   ListBox.Items.RemoveAt(ListBox.SelectedIndex);
}

非常感谢,这正是我想要的。请不要将“已解决”编辑到问题的标题中。如果有人提供了解决您问题的答案,您可以将该答案标记为已接受。这将在问题列表中创建一个可见队列,表明它有一个可接受的答案。