c#wpf需要用鼠标多重选择网格单元格(非DataGrid控件)

时间:2013-12-09 11:22:50

标签: c# wpf events grid

我的WPF表单中有一个标准网格,其中包含“n”行和“n”列。

我希望通过使用鼠标左键选择并突出显示一行中选定单元格的背景,并将“突出显示”“拖动”到单元格 - 每个单元格的背景都会突出显示每个单元格的鼠标 - 左下移动。

我目前有代码工作,将选择一个单元格 - 使用鼠标左下角事件,我已附加到分配给单元格的文本块(行/列)。

有没有人知道如何进行多重选择?

我已经看到这个在telerik网格上工作,但我不能使用Telerik控件。

(谷歌搜索带来了大量没有回答问题的Datagrid答案)

如果需要,我会发布代码。

这是针对标准网格控件而不是数据网格控件。

非常感谢。

2 个答案:

答案 0 :(得分:1)

你说你有代码让你的单个单元格选择正常工作,所以我假设你有代码可以确定用户点击鼠标按钮时Grid是否有MousePosition

启用多选功能所需要做的就是同时监控PreviewMouseLeftButtonUp事件。如果您检测到鼠标按下点超过Grid单元格(0,1)且鼠标指针点超过Grid单元格(3,1),则可以确定用户已单击并且拖过Grid的第1行中的单元格1 - 4。

答案 1 :(得分:0)

感谢您的帖子谢尔丹 - 它帮助我完成了我需要的思考过程:

捕获以下事件:

  1. 鼠标左键按下

  2. 鼠标移动

  3. 鼠标左键按钮

  4. 全部排序 :)