Это не так сложно, как вы думаете. Нажатие на колесо мыши или среднюю кнопку (в зависимости от типа мыши, имеющейся у пользователя) вызывает событие MouseWheel , которое должно обрабатываться и обрабатываться, как любое другое событие.
Вам потребуется настроить небольшой «конечный автомат прокрутки» для вашего приложения. Под этим я подразумеваю, что пользователь либо прокручивает, скажем, NormalMode
, где использование полос прокрутки или перемещение вверх / вниз по колесику мыши дает тот же эффект (прокрутка вверх / вниз). Или приложение имеет значение HoverScrollingMode
, которое возникает всякий раз, когда пользователь нажимает среднюю кнопку (или колесо мыши) и перемещает мышь к северу или югу от точки щелчка.
Я не могу дать вам пример программирования, не видя, как ваше приложение в настоящее время обрабатывает другие типы событий мыши, но ваша общая стратегия заключается в том, чтобы обрабатывать эти MouseWheel
события, использовать их для переключения состояния вашего приложения (скажем, в HoverScrollingMode
), а затем программно перемещать окно просмотра вверх / вниз в зависимости от текущей позиции их мыши.
Надеюсь, это поможет, и удачи!