选择数据网格事件

本文关键字:事件 网格 数据网 数据 选择 | 更新日期: 2023-09-27 18:34:11

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

选择数据网格事件

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

但是你已经回应了..

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

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

e.Handled=true

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

试着让我知道。

PreviewMouseDownPreviewMouseLeftButtonDown可能会有所帮助。我也在这个网站上找到了这个,可以为您提供方向:

如何让数据网格在选择模式="扩展"时单击时取消选择?

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