Я относительно новичок в WPF, и мне было интересно, может ли кто-нибудь мне помочь.
У меня есть представление коллекции, в котором хранится список наблюдаемых коллекций, в котором хранятся все мои элементы. Источником элемента моего datagrid является представление коллекции. У меня простая группировка в XAML datagrid ...
<DataGrid.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name}" FontWeight="Bold" Padding="3"/>
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</DataGrid.GroupStyle>
Теперь ... добавление / удаление элементов работает нормально, однако всякий раз, когда я обновляю / редактирую элемент, группы не обновляются. Скажем, например, элементы сгруппированы по городу, если у меня есть 3 элемента под одним названием города "Сиэтл", тогда измените одно из этих названий города на "Бруклин", город "Бруклин" останется в группе Сиэтла, пока я не заполню список наблюдаемой коллекции. .
Моя текущая работа ... заключается в том, что всякий раз, когда город меняется, я буквально очищаю и повторно заполняю свой наблюдаемый список коллекций для обновления групп ... Должен быть лучший способ!
Мой вопрос: есть ли способ обновить группу данных вручную / динамически всякий раз, когда я обновляю / редактирую элемент?
Примечание. INotifyPropertyChanged. Я на 90% уверен, что проблема не в этом. Я пробовал всевозможные комбинации с этим интерфейсом, группы не будут обновляться всякий раз, когда я редактирую / обновляю элементы. Однако всякий раз, когда я добавляю элемент, если это новый город, будет создана новая группа, если я удалю все элементы в городе, эта группа городов также будет удалена. Кроме того, это не только конкретные элементы, это любой столбец с элементами.
РЕДАКТИРОВАТЬ хорошо, по-прежнему нет решения ... но я нашел другую работу, которая, опять же, не самая элегантная. Я помещаю обработчик событий для поля города ... поэтому всякий раз, когда изменяется город, вызывается обработчик событий, и я обновляю представление коллекции. Однако событие вызывается всякий раз, когда я добавляю элемент, вызывается, когда я щелкаю по элементу, и вызывается дважды, когда я вношу изменение, так что это не всегда эффективно ... все еще ищу идеи.
EDIT2. Сейчас я изучаю BeginEdit и EndEdit IEditableObject, чтобы узнать, даст ли это мне то, что мне нужно.
Любая помощь очень ценится, спасибо!