【问题标题】:c# wpf need to multiselect grid cells with mouse (NOT DataGrid control)c# wpf需要用鼠标多选网格单元(不是DataGrid控件)
【发布时间】:2013-12-26 11:41:48
【问题描述】:

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

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

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

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

我已经看到这在 Telerik 网格上工作,但我无法使用 Telerik 控件。

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

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

这是用于标准网格控件而不是数据网格控件。

非常感谢。

【问题讨论】:

    标签: c# wpf events grid


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      捕获以下事件:

      1. 鼠标左键向下

      2. 鼠标移动

      3. 鼠标左键向上

      全部排序 :)

      【讨论】:

        猜你喜欢
        • 2021-05-22
        • 2014-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-08
        • 1970-01-01
        • 2014-11-01
        相关资源
        最近更新 更多