我有一个包含一堆对象的List,然后将列表的内容添加到listbox控件中。我的问题是,如何删除列表中的当前项目,这将删除列表框中的当前项目?
答案 0 :(得分:0)
您可以在selectedindex_changed事件处理程序中获取所选索引,删除该索引处的对象并重新填充列表框
int index = listbox.SelectedIndex();
listThatHoldsObjects.RemoveAt(index);
listbox.ItemsSource = listThatHoldsObjects
答案 1 :(得分:0)
您可以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");
答案 2 :(得分:0)
考虑使用BindingList<T>
类(found here)并将其绑定到ListBox
。
如果您不想这样,您可以随时使用:
ListBox lb = new ListBox();
List<object> list = new List<object>();
list.RemoveAt(lb.SelectedIndex);
lb.Items.RemoveAt(lb.SelectedIndex);