WPF:如何在拖动 ListView 项目时允许在 ListView 中使用鼠标滚轮滚动?

发布于 2024-07-21 07:57:53 字数 284 浏览 9 评论 0原文

我已经在 WPF 应用程序的 ListView 中实现了拖放。 可以将项目拖放到 ListView 内部,也可以拖放到 ListView 旁边的 TreeView 中。

目前,我已将其设置为当您拖动到 ListView 底部时,它会自动向下滚动列表。

我想知道的是,是否有任何方法可以在拖动项目时使用鼠标滚轮滚动 ListView ? 当我拖动时,鼠标滚轮事件似乎没有被触发。

I have implemented drag and drop in a ListView in my WPF application. Items can be dragged and dropped inside the ListView, and also into a TreeView that is beside the ListView.

Currently, I have it set up so that when you drag to the bottom of the ListView, it automatically scrolls down the list.

What I'd like to know is if there's any way to be able to scroll through the ListView with the mouse wheel while I'm dragging its items? It seems like the mouse wheel events aren't being fired while I'm dragging.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嘿看小鸭子会跑 2024-07-28 07:57:53
  1. DragDrop.DoDragDrop(...) 之前创建(并启动)鼠标钩子助手
  2. 分析鼠标滚轮(+检查鼠标是否位于控制上方)
  3. DoDragDrop()< 之后停止(处置)鼠标钩子助手/code> 操作

注意:始终停止鼠标钩子助手,因为它可以在窗口关闭时冻结应用程序(我在 XP 上看到它)。

这里你可以找到一个MouseHook,采用它(我发现错误:))或类似的东西。

  1. create (and start) mouse hook helper before DragDrop.DoDragDrop(...)
  2. analyze mouse wheel (+ check if mouse over control)
  3. stop (dispose) mouse hook helper after DoDragDrop() operation

Note: always stop mouse hook helper, because it can freeze application when it dispose on Window close (I see it on XP).

here you can find one MouseHook, adopt it (I found bug:)) or something like it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文