マウスホイールを使用して画像をズームイン/ズームアウトするアプリケーションを WPF で作成しています。ズームの量は、マウス ホイールの回転量に基づいています。
問題は、MSDN で説明されているように、デルタ値が常に 120 であることです。ですから、ホイールを 1 ノッチまたは 5 ノッチ回しても、常に 120 になります。これを回避する方法を知っていますか?
マウスホイールを使用して画像をズームイン/ズームアウトするアプリケーションを WPF で作成しています。ズームの量は、マウス ホイールの回転量に基づいています。
問題は、MSDN で説明されているように、デルタ値が常に 120 であることです。ですから、ホイールを 1 ノッチまたは 5 ノッチ回しても、常に 120 になります。これを回避する方法を知っていますか?
PreviewMouseWheelイベントを処理できるはずです。各イベントのデルタは +/-120 ですが、ホイールの「ノッチ」ごとに 1 つのイベントを取得します。
John Myczek は基本的に正しい答えを出しました。ホイールを十分に速く回すと、デルタが 120 より大きいか、-120 より小さいことがわかります。+/-120 の倍数になります。そのため、PreviewMouseWheel イベントのハンドルを分割した方がよいでしょう。