У меня была точно такая же проблема, со следующим сценарием:
- У вас есть DataGrid, в каждой строке есть флажок
- Для флажков установлены события Checked / Unchecked: если выбор несколько, все флажки переключаются
- Выберите несколько строк
- Поставьте галочку, отметьте весь выбор
- Сохранить выбранные строки и прокрутить, чтобы сделать их невидимыми
- Флажки выбранных строк должны быть отмечены / сняты, как только они исчезнут из пользовательского интерфейса
Решение, данное Jacek, работает, но содержимое больше не прокручивается колесом мыши, курсор мыши должен находиться на полосе прокрутки.
Мне кажется, что в моем проекте работает добавление этого свойства в DataGrid
ScrollViewer.CanContentScroll="False"
Это очень странно, так как он говорит, что Datagrid не подлежит прокрутке, НО, контент все еще можно прокручивать с помощью колесика мыши, и проблема с переключением статуса флажков больше не возникает.