我有一个 DataGrid,它有一些文本列和一个带有复选框的模板列。当用户单击该行中的任意位置时,我需要切换此复选框。最好的方法是什么?
现在,我在选定项目更改和单元格鼠标左键单击事件上切换复选框。但这有两个问题。
第一个问题是 DataGrid 刚刚进行数据绑定时的情况。第一行被选中。但是当我点击一个单元格时,DataRowCell.MouseLeftButtonDown 事件不会因为未知原因而引发。所以复选框不会被切换。可能的解决方案是在数据绑定后取消选择第一行。
第二个问题是,当用户直接单击另一行的复选框时,复选框会被切换两次。这会导致复选框被切换两次,这意味着选中的值不会改变。
那么实现要求的最佳方法是什么?