Удалить элемент списка со списком - PullRequest
2 голосов
/ 26 июля 2011

Как удалить элемент со списком? Я попробовал этот код, но он не работает.

  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());
                    }
                }}

Ответы [ 2 ]

4 голосов
/ 26 июля 2011

Вместо того, чтобы пытаться удалить строку, попробуйте:

cbRooms.Items.Remove((ComboBoxItem)item))
2 голосов
/ 26 июля 2011

Попробуйте удалить ComboBoxItem, а не:

(ComboBoxItem)item).Content.ToString()

Попробуйте:

(item)

Вам также может понадобиться обновить элемент управления поля со списком после удаления элемента:

cbRooms.Items.Refresh();

UPDATE

Вы можете попробовать то, что сказал Кзен в комментариях к ОП. Используйте List<ComboBoxItem> для хранения ваших предметов и выполните операции добавления / удаления на List. Затем привяжите список к вашему ComboBox:

cbRooms.ItemsSource = comboBoxItemList;

Затем, когда вы выполняете свои операции на List, вызовите обновление:

cbRooms.Items.Refresh();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...