Имам DataGridCheckBoxColumn в моя DataGrid, който трябва да посочи редовете, които потребителят е избрал. Искам квадратчетата за отметка да бъдат отметнати/премахнати с едно кликване. Правенето на колоната редактируема (т.е. IsReadOnly="False") означава, че потребителят трябва да щракне два пъти (първото щракване просто избира реда, второто щракване променя квадратчето за отметка), така че реших да задам/изчистя свойството, към което е обвързана колоната в вижте кода на модела в отговор на задействането на тригера SelectionChanged.
Задаването/изчистването на свойството работи добре, но веднага щом извикам NotifyPropertyChanged("име на колекцията, към която е обвързана мрежата"), за да получа изгледа, за да покаже промяната, това кара тригера SelectionChanged да се задейства отново. Това се повтаря около 10 пъти, докато не бъде хвърлено изключение.
Ако премахна извикването към NotifyPropertyChanged, тригерът SelectionChanged се задейства веднъж, но, разбира се, не виждам никаква промяна в потребителския интерфейс. Колекцията е PagedCollectionView, ако това има значение.
Как мога да накарам това да работи? Забележка - използвам MVVM модел, така че всичко се прави с обвързвания към View Model (без код зад).
Благодаря