私はCanvasを含むScrollViewerを含むUserControlを持っています。 私はカスタムズームロジックを持っていますが、ScrollViewerがスクロールできる場合、マウスホイールイベントは完全にスワイリングします。底に達すると、ズーミングは問題なく動作します。ScrollViewerがMouseWheelEventを呑み込まないようにしました。(アップデート:DevExpress LayoutControlが理由です)
private void CanvasOverlayControl_PreviewMouseWheel(object sender, MouseWheelEventArgs e) {
if(Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) {
if(e.Delta > 0) {
// Wheel up
Zoom *= 1.15f;
} else if(e.Delta < 0) {
// Wheel down
Zoom *= 0.85f;
}
}
}
この行がコンストラクタである(背後にあるコード)
PreviewMouseWheel += CanvasOverlayControl_PreviewMouseWheel;
私はその動作をSUPRESSできますか?
編集:
私はそれがコンテンツのスクロールを処理するためDevExpress社LayoutControlがこれを引き起こしているが分かりました。これを無効にする方法はありますか?事前
私はこれを試しましたが、ScrollViewerがそれ以上スクロールできない場合は、私のメソッドが呼び出されるだけです。 – horotab
@horotab私のサンプルコードで編集しました。同じコードに対して同じ結果が得られるかどうかを確認してください。サンプルを再現できる場合は、実際のプロジェクトで何が違うのかを知る必要があります。あなたが再現できないなら、私たちのシステムは何とか非常に異なっており、おそらく私はあなたを助けません。 – grek40
@horotabサンプルをチェックしましたか?質問はまだ開いていますか? – grek40