Немедленное действие после установки флажка в GridView
Я разрабатываю систему на основе MVVM с элементами управления DevExpress WPF и Simple MVVM Toolkit. Есть случай, когда я отображаю GridControl, где viewmodel каждой строки в сетке имеет логическое свойство (среди прочих). Это свойство отображается в GridControl как флажок.
Я хочу обновить другое представление в окне сразу после того, как пользователь установит или отменит выбор этого флажка, но это, похоже, не работает. Я поместил некоторый код в установщик свойств, который обновит представление, но это выполняется только после того, как пользователь щелкнет за пределами строки GridControl. Таким образом, для выполнения установки требуется 2 шага:
- Установите или снимите флажок
- Нажмите, чтобы выбрать другую строку в сетке управления
Можно ли выполнить установщик сразу после шага 1?
Я могу себе представить, что это имеет какое-то отношение к поведению Simple MVVM Tooklkit: когда модель представления находится в состоянии "редактирования", она клонируется и только после завершения состояния "редактирования" свойства устанавливаются в новые значения.
Буду признателен за любые идеи по этому вопросу.
С наилучшими пожеланиями, ~ Роб
1 ответ
Это обсуждалось здесь несколько раз. Просто используйте DataGridTemplateColumn следующим образом:
<DataGridTemplateColumn Width="Auto" Header="Selected">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>