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