从组合框WPF中移除组合框项

本文关键字:组合 WPF | 更新日期: 2023-09-27 18:03:27

如何删除组合框项?我试过这个代码,但它不工作。

  private void btnAdd_Click(object sender, RoutedEventArgs e)
    {
 foreach (var item in cbRooms.Items)
                {
                    if (((ComboBoxItem)item).Content.ToString() == cbRooms.Text.ToString())
                    {
                        cbRooms.Items.Remove(((ComboBoxItem)item).Content.ToString());
                    }
                }}

从组合框WPF中移除组合框项

与其尝试删除字符串,不如尝试:

cbRooms.Items.Remove((ComboBoxItem)item))

尝试删除ComboBoxItem而不是:

(ComboBoxItem)item).Content.ToString()

试题:

(item)

您可能还需要在删除项目后刷新组合框控件:

cbRooms.Items.Refresh();

您可以尝试kzen在op评论中所说的。使用List<ComboBoxItem>来存储您的项目,并在List上执行添加/删除操作。然后将列表绑定到您的ComboBox:

cbRooms.ItemsSource = comboBoxItemList;

然后当您在List上执行操作时调用刷新:

cbRooms.Items.Refresh();