【问题标题】:WPF Toolkit: DataGrid EventHandler for CheckBoxColumn.CheckedChanged?WPF 工具包:CheckBoxColumn.CheckedChanged 的​​ DataGrid EventHandler?
【发布时间】:2010-01-19 17:46:30
【问题描述】:

我目前正在使用 WPF 和包含 WindowsForms 样式 DataGrid 的 WPF 工具包。

我已将自定义对象列表作为 ItemsSource 绑定到网格。这些对象包含两个可使用数据网格编辑的布尔属性。使用内置数据绑定模型同步回我的列表可以正常工作,但是如果其中一个 CheckBox 值更改为将对象序列化回 XML 中,我必须调用另一种方法。不幸的是,我不能在我的数据类本身中进行这种缓存,因为它不知道它的缓存提供者。

因此,我需要 DataGrid 上的一个事件,该事件会在复选框值更改后立即触发。

我已经从原始 DataGridCheckBoxColumn 继承了一个 AutoCommitCheckBoxColumn 类,它覆盖了 GenerateEditingElement(DataGridCell cell, object dataItem) 方法以及 checkbox_(Un-)Checked 处理程序。

显然我不能也不想从这里调用缓存方法 - 它需要在 DataGrid 所在的 Window 类中完成。

所以 - 我只是找不到合适的事件:MouseButton.. 事件仅在单击外部单元格空间而不是单元格中的内部复选框时触发。 CellEditEnding 可以工作,但只有在(取消)选中复选框后选择另一个单元格时才会触发。 SourceUpdated 根本不会触发。

谁能帮我举办一场合适的活动?或者我可以以某种方式从我的 AutoCommitCheckBoxColumn 类安全地触发数据网格上的事件吗?

非常感谢您!

【问题讨论】:

    标签: wpftoolkit wpfdatagrid


    【解决方案1】:

    您是否考虑过使用 WPF 数据触发器?

    查看此处了解更多信息: http://en.csharp-online.net/WPF_Styles_and_Control_Templates—Data_Triggers

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-08
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 2010-12-28
    • 2013-03-17
    • 2011-03-30
    相关资源
    最近更新 更多