在GridView中选中复选框后立即执行操作

时间:2014-01-08 10:23:37

标签: wpf mvvm gridcontrol simple-mvvm devexpress-wpf

我正在使用DevExpress WPF控件和Simple MVVM Toolkit开发基于MVVM的系统。 有一种情况我正在显示一个GridControl,其中网格中每行的viewmodel都有一个布尔属性(等等)。此属性在GridControl中显示为一个复选框。

我想在用户选择或取消选中该复选框后立即在窗口中更新另一个视图,但这似乎不起作用。我在属性设置器中放了一些代码来更新视图,但这只是在用户点击GridControl的行之外时执行的。 因此执行setter需要2个步骤:

  1. 选中或取消选中复选框
  2. 单击以选择gridcontrol中的另一行
  3. 我可以在步骤1之后立即执行setter吗?

    我可以想象它与Simple MVVM Tooklkit行为有关,当viewmodel处于“编辑”状态时,它被克隆,只有当“编辑”状态结束时,属性才被设置为新的价值观。

    我对此有任何见解表示感谢。

    祝你好运, 罗布〜

1 个答案:

答案 0 :(得分:0)

这已经多次讨论过了。只需使用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>