Колесо мыши не работает, когда над дочерними элементами управления ScrollViewer - PullRequest
8 голосов
/ 17 апреля 2009

Я ожидал, что дочерние элементы управления моего ScrollViewer автоматически передадут события MouseWheel для резервного копирования ScrollViewer, но это не так.

У меня есть ScrollViewer с ListBox в нем. Если я вручную изменяю ширину ListBox, чтобы он был меньше ScrollViewer, MouseWheel работает на всех ScrollViewer, но не действует, когда мышь находится над ListBox.

Какой стандартный способ сделать это? Должен ли я поместить триггер события в ListBox, который запускает событие на родительском? Должен ли я обрабатывать и перенаправлять событие в коде позади?

1 Ответ

16 голосов
/ 17 апреля 2009

Шаблон ListBox содержит ScrollViewer, так что ScrollViewer будет обрабатывать события и мешать им распространяться вверх по визуальному дереву.

Чего именно вы пытаетесь достичь, имея ListBox внутри ScrollViewer? Возможно, вам нужно повторно шаблон ListBox, но это невозможно сказать без дополнительной информации.

...