DataGrid:如何勾选CheckBoxColumn后立即提交编辑?
问题描述
我有一个DataGridCheckBoxColumn,另一个元素的可见性与其绑定。但用户切换行前,数据视图模型中的属性编辑不会提交。请问是否有办法在勾选复选框时立即提交编辑?
对应的XAML代码:
<controls:DataGridCheckBoxColumn Binding="{Binding MultipleChoice.Value}" Header="MultipleChoice" Tag="MultipleChoice" />
解决方案
- WPF DataGrid的列绑定默认使用
LostFocus作为更新源触发器,只有当单元格失去焦点(比如切换行)时,才会将值提交到视图模型。要实现勾选复选框时立即提交,只需修改绑定的UpdateSourceTrigger为PropertyChanged。
修改后的XAML代码:
<controls:DataGridCheckBoxColumn Binding="{Binding MultipleChoice.Value, UpdateSourceTrigger=PropertyChanged}" Header="MultipleChoice" Tag="MultipleChoice" />
- 这样设置后,用户勾选或取消勾选复选框的瞬间,绑定的
MultipleChoice.Value属性就会立即更新,依赖该属性的元素可见性也会同步变化,无需等待切换行操作。
内容的提问来源于stack exchange,提问作者miniHessel
相关产品推荐
相关产品推荐

