WPF的DataGrid原生是不支持Click事件的,然而在开发过程中,经常遇到需要实现类似效果的。
举个栗子:表格第一列是一个CheckBox,需要实现功能点击行选中,再点击取消选中。
第一想法是RowClick事件,然而没有,退而求次使用DataGrid_SelectionChanged事件,第一次点击正常进入方法,连续点击发现无效,原因很简单选中的行没有变化,百度一下有人说使用mousedown方法,表示也可以,不过有没有更简单一点的,答案是有的。中秋假期归来,突然灵光一现,发现只需要在DataGrid_SelectionChanged事件执行代码的最后一行加一句代码就搞定了,真是太有才了。
this.DataGrid.SelectedIndex = -1;
就是这么的简单,每次点击后,即DataGrid_SelectionChanged后再将选中项清空,这样每次点击就会再执行一次DataGrid_SelectionChanged事件啦。
希望对有这方面需求的客官有点用。不过这个是偏方,期待更好的解决方案。