在离开当前单元格之前,WPF XamDataGrid不会更新

The*_*fen 5 c# wpf xamdatagrid

我的应用程序中有几个XamDataGrids,我希望所有这些都在用户更改其中的复选框后立即启用相应的"保存"按钮.这个目前不会发生,直到我离开单元格或按回车等,因为单元格仍处于编辑模式.我知道如何使用我在代码隐藏中找到的帖子来解决这个问题:

private void XamDataGrid_CellChanged(object sender, Infragistics.Windows.DataPresenter.Events.CellChangedEventArgs e)
        {
            e.Cell.Record.SetCellValue(e.Cell.Field, e.Editor.Value, true);
        }
Run Code Online (Sandbox Code Playgroud)

但是,如何在整个应用程序中处理所有网格,而不是将其放在每个网格的代码隐藏中?我正在使用MVVM,如果可能的话,我希望不会有任何代码.如果我必须,我会,但我肯定不希望它在17个不同的网格文件背后的代码中.也许是一种行为?

Fod*_*one 7

您需要将DataItemUpdateTrigger设置为OnCellValueChange.

XamDataGrid中所有字段的默认值

<igDP:XamDataGrid.FieldSettings>
    <igDP:FieldSettings 
        DataItemUpdateTrigger="OnCellValueChange" />
</igDP:XamDataGrid.FieldSettings>
Run Code Online (Sandbox Code Playgroud)
  • 我相信这可以很容易地应用为所有XamDataGrids的样式.

对于个别领域

<igDP:Field Label="" Name="IsSelected" >
    <igDP:Field.Settings>
        <igDP:FieldSettings DataItemUpdateTrigger="OnCellValueChange" />
    </igDP:Field.Settings>
</igDP:Field>
Run Code Online (Sandbox Code Playgroud)