У меня есть DataGridCheckBoxColumn в моем DataGrid, который должен указывать строки, выбранные пользователем. Я хочу, чтобы флажки устанавливались/снимались одним щелчком мыши. Создание редактируемого столбца (т.е. IsReadOnly="False") означает, что пользователь должен щелкнуть дважды (первый щелчок просто выбирает строку, 2-й щелчок меняет флажок), поэтому я решил установить/очистить свойство, к которому привязан столбец в просмотреть код модели в ответ на срабатывание триггера SelectionChanged.
Установка/очистка свойства работает нормально, однако, как только я вызываю NotifyPropertyChanged("имя коллекции, к которой привязана сетка"), чтобы представление отображало изменение, это приводит к повторному срабатыванию триггера SelectionChanged. Это повторяется около 10 раз, пока не будет выбрано исключение.
Если я удаляю вызов NotifyPropertyChanged, триггер SelectionChanged срабатывает один раз, но, конечно, я не вижу никаких изменений в пользовательском интерфейсе. Коллекция представляет собой PagedCollectionView, если это имеет значение.
Как я могу заставить это работать? Примечание. Я использую шаблон MVVM, поэтому все делается с привязками к модели представления (без кода).
Спасибо