Дочерние элементы scrollviewer, предотвращающие прокрутку колесиком мыши?
У меня возникли проблемы с прокруткой колесика мыши для работы в следующем XAML, который я упростил для ясности:
Визуально, результатом является область некоторого известного размера, гдеDataField
чтение из коллекции может быть представлено сTextBox
Они имеют произвольное положение, размер и так далее. В случаях, когдаListBox
в стиле "площадь" слишком велик для одновременного отображения, возможна горизонтальная и вертикальная прокрутка, но только с полосами прокрутки.
Для лучшей эргономики и здравомыслия, прокрутка колесика мыши должна быть возможной, и обычноScrollViewer
будет обрабатывать это автоматически, ноListBox
кажется, передает эти события так, что родительScrollViewer
никогда их не видит. До сих пор я только мог заставить работать прокрутку колесIsHitTestVisible=False
либо дляListBox
или родительGrid
, но, конечно, ни один из дочерних элементовСобытия мыши после этого работают.
Что я могу сделать, чтобы обеспечитьScrollViewer
видит события колеса мыши, сохраняя другие для дочерних элементов?
Изменить: я только что узнал, чтоListBox
имеет встроенныйScrollViewer
который, вероятно, крадет события колеса от родителяScrollViewer
и что указание шаблона элемента управления может отключить его. Я'Я обновлю этот вопрос, если это решит проблему.