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
добавление / удаление элементов в группу не будет иметь никакого эффекта.