繁体   English   中英

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

[英]c# wpf need to multiselect grid cells with mouse (NOT DataGrid control)

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

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

我目前使用的代码可以选择一个单元格-使用鼠标左击事件,该事件已附加到分配给该单元格(行/列)的文本块上。

有谁知道我如何进行多项选择?

我已经看到在Telerik网格上可以正常工作,但是我无法使用Telerik控件。

(谷歌搜索会带来大量无法解决问题的Datagrid答案)

如果需要,将发布代码。

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

非常感谢。

您说您有使单个单元格选择正常工作的代码,所以我假设您有代码,当用户单击鼠标按钮时,该代码将确定MousePosition是否存在Grid

启用多选功能所需要做的就是也监视PreviewMouseLeftButtonUp事件。 如果您检测到鼠标向下的点位于Grid单元格(0,1)上并且鼠标向上的点位于Grid单元格(3,1)上,则可以确定用户在行中的单元格1-4上单击并拖动Grid 1。

感谢您发布sheridan的内容-它帮助我完成了所需的思考过程:

捕获以下事件:

  1. 鼠标左键按下

  2. 鼠标移动

  3. 鼠标左键向上

全部排序:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM