我正在 WPF 中创建一个使用鼠标滚轮放大/缩小图像的应用程序。缩放量取决于鼠标滚轮的转动量。
问题是 Delta 值始终为 120,如 MSDN 中所述。所以,即使我将车轮转动 1 个或 5 个槽位,它也始终是 120。你知道解决这个问题的方法吗?
我正在 WPF 中创建一个使用鼠标滚轮放大/缩小图像的应用程序。缩放量取决于鼠标滚轮的转动量。
问题是 Delta 值始终为 120,如 MSDN 中所述。所以,即使我将车轮转动 1 个或 5 个槽位,它也始终是 120。你知道解决这个问题的方法吗?
您应该能够处理PreviewMouseWheel事件。每个事件的增量将是 +/-120,但您将获得一个针对轮子的每个“缺口”的事件。
John Myczek 给出了基本正确的答案。我应该补充一点,如果你转动车轮足够快,你会注意到增量大于 120 或小于 -120。它将是 +/-120 的倍数。所以你最好在PreviewMouseWheel事件的句柄上做一些划分。
上述关于值始终为 +/-120的陈述并不总是正确的。
如果你慢慢转动轮子,这个值确实是 +/-120,但是,如果你快速转动轮子,这个值会变成 +/-240。
我猜可能还有其他值(还没有测试过)......