C # удаление текущего элемента в списке - PullRequest
0 голосов
/ 11 сентября 2011

У меня есть список, который содержит несколько объектов, содержимое списка затем добавляется в элемент управления списка. У меня вопрос, как я могу удалить текущий элемент в списке, который, в свою очередь, удалит текущий элемент в списке?

Ответы [ 3 ]

0 голосов
/ 11 сентября 2011

Вы можете BindingList<object> связать его со списком и связать список объекта List<object> с этим BindingList.После удаления элемента из BindingList он удалит один и тот же элемент из List и ListBox

List<object> list = new List<object>();
list.Add("test");
list.Add("test1");

BindingList<object> bindingList;
bindingList = new BindingList<object>(list);            

listBox1.DataSource = bindingList;

bindingList.Remove("test");
0 голосов
/ 11 сентября 2011

Подумайте об использовании класса BindingList<T> (, найденного здесь ) и привяжите его к ListBox.

Если вы не хотите этого, вы всегда можете использовать:

ListBox lb = new ListBox();
List<object> list = new List<object>();
list.RemoveAt(lb.SelectedIndex);
lb.Items.RemoveAt(lb.SelectedIndex);
0 голосов
/ 11 сентября 2011

вы можете просто получить выбранный индекс в обработчике событий selectedindex_changed, удалить объект с этим индексом и снова заполнить список

int index = listbox.SelectedIndex();
listThatHoldsObjects.RemoveAt(index); 
listbox.ItemsSource = listThatHoldsObjects
...