我有一个分组的可观察集合:
ObservableCollection<Group<ViewModel>> items
是LongListSelector的数据源。我想添加/删除项目。我尝试了如下操作:
items.Where(group => group.Contains(item)).First().Remove(item); // didn't work
items.Where(group => group.Title.Equals("a")).First().add(item) // also didn't work
我试着取出整个组,然后重新插入,但没有效果。
有什么想法吗?
像Where
这样的LINQ函数总是返回新的集合,它不链接到原始集合。要删除组,请使用以下方法:
foreach (var group in items.Where(group => group.Contains(item).ToList())
items.Remove(group)
同样,如果Group
类不实现INotifyPropertyChanged
,则向组中添加/删除项目将不起作用。