WPF数据网格-在值更改后立即在复选框列中提交更改

本文关键字:复选框 提交 数据网 WPF 数据 网格 | 更新日期: 2023-09-27 17:58:30

我对数据网格有一个小小的问题。

在我的网格中,我有一个复选框列,它是唯一可编辑的列。

我正在寻找的行为是,一旦复选框的状态发生变化,数据网格就会更新我的数据源。因此,用户选中/取消选中框>基础数据表将得到更新。

默认行为似乎是在行失去焦点时更新源,要求用户按下键或单击其他控件来保存更改
我该如何改变这种行为?

我看不到数据网格的任何属性可以做到这一点,也看不到DataGridCheckBoxColumn的CheckChanged事件。

WPF数据网格-在值更改后立即在复选框列中提交更改

在列的绑定上需要UpdateSourceTrigger属性。这里有一个快速的例子,你可以把它充实起来并填空:

<DataGrid x:Name="someGrid">
    <DataGrid.Columns>
        <DataGridCheckBoxColumn Binding="{Binding SomeProperty, UpdateSourceTrigger=PropertyChanged}" />
    </DataGrid.Columns>
</DataGrid>

DataGrid本身将所有列(除了模板列)的UpdateSourceTrigger设置为LostFocus,并且这是不能重写的。因此,需要将模板列与复选框模板一起使用。

编辑:这只是围绕DataGrid列的一长串愚蠢的问题中的一个。这里概述了更多内容。