У меня есть список, который содержит несколько объектов, содержимое списка затем добавляется в элемент управления списка. У меня вопрос, как я могу удалить текущий элемент в списке, который, в свою очередь, удалит текущий элемент в списке?
Вы можете BindingList<object> связать его со списком и связать список объекта List<object> с этим BindingList.После удаления элемента из BindingList он удалит один и тот же элемент из List и ListBox
BindingList<object>
List<object>
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");
Подумайте об использовании класса BindingList<T> (, найденного здесь ) и привяжите его к ListBox.
BindingList<T>
Если вы не хотите этого, вы всегда можете использовать:
ListBox lb = new ListBox(); List<object> list = new List<object>(); list.RemoveAt(lb.SelectedIndex); lb.Items.RemoveAt(lb.SelectedIndex);
вы можете просто получить выбранный индекс в обработчике событий selectedindex_changed, удалить объект с этим индексом и снова заполнить список
int index = listbox.SelectedIndex(); listThatHoldsObjects.RemoveAt(index); listbox.ItemsSource = listThatHoldsObjects