修改分组观察集合



我有一个分组的可观察集合:

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,则向组中添加/删除项目将不起作用。

最新更新