【发布时间】:2010-10-24 12:09:13
【问题描述】:
我正在 WPF 中创建一个使用鼠标滚轮放大/缩小图像的应用程序。缩放量取决于鼠标滚轮的转动量。
问题在于 Delta 值始终为 120,如 MSDN 中所述。所以,即使我将轮子转动 1 档或 5 档,它也始终是 120 档。你知道解决这个问题的方法吗?
【问题讨论】:
标签: wpf mouse mousewheel
我正在 WPF 中创建一个使用鼠标滚轮放大/缩小图像的应用程序。缩放量取决于鼠标滚轮的转动量。
问题在于 Delta 值始终为 120,如 MSDN 中所述。所以,即使我将轮子转动 1 档或 5 档,它也始终是 120 档。你知道解决这个问题的方法吗?
【问题讨论】:
标签: wpf mouse mousewheel
您应该能够处理PreviewMouseWheel 事件。每个事件的增量为 +/-120,但轮子的每个“缺口”都会获得一个事件。
【讨论】:
PreviewMouseWheel 事件,发现增量是 +/-120 的倍数,因此与 @987654324 没有明显差异@事件。
John Myczek 给出了基本正确的答案。我应该补充一点,如果你转动轮子足够快,你会注意到增量大于 120 或小于 -120。它将是 +/-120 的倍数。所以最好在PreviewMouseWheel事件的句柄上做一些划分。
【讨论】:
上述关于值始终为 +/-120 的陈述并不总是正确的。
如果你慢慢地转动轮子,这个值确实是+/-120, 但是,如果您快速旋转滚轮,则该值变为 +/-240。
我猜可能还有其他值(还没有测试过)...
【讨论】: