选择datagrid事件

时间:2012-05-15 19:59:13

标签: c# wpf datagrid

所以我有一个WPF应用程序和一个数据网格,不可编辑,启用了完整的行选择,我正在尝试使用datagrid行进行一种切换开关功能。但是,我似乎无法为简单的行选择找到合适的事件。有SelectionChanged,如果再次单击已选择的项目,则无效。有简单的Click(很多类型),但所有这些都在实际选择行之前发生,所以如果我尝试在点击上获得所选项目,我将得到null。有一些其他事件(我忘了)需要点击两次,这不是我想要的。我的想法已经用完了,也许有一些很好的事件组合或某种方式来覆盖它们,或者我可能只是错过了一些东西?

3 个答案:

答案 0 :(得分:2)

考虑到您提供的信息,@ Yatrix的解决方案完全有效!

但是你已经回复了..

  

在选择行之前发生,因此不起作用:/

然后你在这里缺少一些东西。即使LeftMouseDown \ LeftMouseUp \ PreviewLeftMouseDown \ Up事件发生在选择事件之前,他们也会知道该行是否已被选中。这样他们可以取消选择然后再做

e.Handled=true

....因此在鼠标事件之后永远不会调用选择,从而避免重新选择。

试着让我知道。

答案 1 :(得分:0)

PreviewMouseDownPreviewMouseLeftButtonDown可能有所帮助。我也在这个网站上发现了这个可能为你提供指导的方法:

How can I get a DataGrid to unselect on click when SelectionMode="Extended"?

答案 2 :(得分:0)

如果要注册Selected Selected事件,则需要为DataGrid中的每一行执行此操作。尝试注册DataGrid上的LoadingRow事件,并为每一行注册Selected事件。