WPF: Srollviewer не работает в элементе управления Items - PullRequest
0 голосов
/ 26 августа 2010

У меня есть itemcontrol под scrollviewer. и под этим элементом управления у меня есть другой UserControl с элементами управления под прокруткой просмотра. как то так:

ScrollViewer
ItemsControl
....
/ ItemsControl
/ ScrollViewer

под вышеприведенным контролем элементов есть пользовательский контроль, имеющий:

scrollviewer
ItemsControl
....
/ ItemsControl
/ ScrollViewer

Когда указатель мыши находится на первом элементе прокрутки или элементах управления, прокрутка работает, но, когда мышь переключается на второй элемент управления, прокрутка не работает.

Кто-нибудь может мне помочь и сказать, где я не прав?

Примечание. Теги <> удалены, поскольку HTML не отображается.

1 Ответ

2 голосов
/ 26 августа 2010

Ознакомьтесь с WPF Tips'n'Tricks # 6: Запрещение ScrollViewer обрабатывать колесо мыши .

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

Как мы можем изменить ScrollViewer так, чтобы он вел себя более привычно?Самый прямой подход - использовать туннелирование и всплывающие события и использовать их для контроля ошибок.

Идея состоит в том, что если обрабатывается PreviewMouseWheel, WPF не будет генерировать событие MouseWheel, и, в свою очередь, ScrollViewer не будет прокручиваться.

Статья содержит полный кодРешение проблемы.

...