Немедленное действие после установки флажка в GridView

Я разрабатываю систему на основе MVVM с элементами управления DevExpress WPF и Simple MVVM Toolkit. Есть случай, когда я отображаю GridControl, где viewmodel каждой строки в сетке имеет логическое свойство (среди прочих). Это свойство отображается в GridControl как флажок.

Я хочу обновить другое представление в окне сразу после того, как пользователь установит или отменит выбор этого флажка, но это, похоже, не работает. Я поместил некоторый код в установщик свойств, который обновит представление, но это выполняется только после того, как пользователь щелкнет за пределами строки GridControl. Таким образом, для выполнения установки требуется 2 шага:

  1. Установите или снимите флажок
  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>
Другие вопросы по тегам