Windows Phone - изменить сгруппированную наблюдаемую коллекцию

У меня есть сгруппированная наблюдаемая коллекция:

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

Я попытался удалить всю группу и снова вставить ее, но безрезультатно.

Есть идеи?

1 ответ

LINQ функционирует как Where всегда возвращайте новую коллекцию, которая не связана с оригинальной. Чтобы удалить группы, используйте следующий подход.

foreach (var group in items.Where(group => group.Contains(item).ToList())
    items.Remove(group)

Кроме того, если Group класс не реализует INotifyPropertyChangedдобавление / удаление элементов в группу не будет иметь никакого эффекта.

Другие вопросы по тегам