在WPF DataGrid中自定义的CheckBox无法更新绑定。
问题的原因是因为当使用自定义的CheckBox作为WPF DataGrid中的一个列时,绑定不会更新。这是因为CheckBox处理了鼠标点击事件,导致DataGrid无法进入编辑模式,从而阻止了绑定的更新。
解决方法是修改CheckBox的ElementStyle属性,将其设置为允许鼠标点击事件的处理。默认情况下,ElementStyle的IsHitTestVisible和Focusable属性都被设置为false,这会阻止CheckBox处理鼠标点击事件。修改ElementStyle属性后,DataGrid就能够接收到鼠标点击事件,进入编辑模式,并切换到EditingElementStyle。
参考一个博客文章When is a WPF DataGrid read-only CheckBox not read-only?中的示例,了解如何正确地实现这一点。