WPF 中listbox的用法疑问
在listbox 里绑定了Person 对象来显示, 我现在需要把某个对象从这个listbox里删除,想删除的通过person 对象来传递,似乎不能直接用listbox.remove(person) 来删除,那我应该怎么删除任何一个想删除的对象. wpf
[解决办法]
你传的person对象是个重新new的新对象吧,虽然属性一模一样,但是地址不一样,所以listbox里找不到它
for(int i=0;i<listbox1.Items.Count;i++)
{
Person p=listbox1.Items[i] as Person;
if(p.ID == person.ID) //假设ID是主键
{
listbox1.Items.RemoveAt(i);
break;
}
}
[解决办法]
itemsource绑定一个List对象?你的Person得实现INotifyCollectionChanged跟INotifyPropertyChanged,或者直接用ObservableCollection<T>吧。然后后台直接操作这个ObservableCollection对象进行删除增加之类的操作就可以了
[解决办法]