Дочерние элементы scrollviewer, предотвращающие прокрутку колесиком мыши?

У меня возникли проблемы с прокруткой колесика мыши для работы в следующем XAML, который я упростил для ясности:


    
        
            
                
                    
                
            
        
        
            
                
                    
                
            
            
                
                    
                    
                
            
        
    

Визуально, результатом является область некоторого известного размера, гдеDataFieldчтение из коллекции может быть представлено сTextBoxОни имеют произвольное положение, размер и так далее. В случаях, когдаListBoxв стиле "площадь" слишком велик для одновременного отображения, возможна горизонтальная и вертикальная прокрутка, но только с полосами прокрутки.

Для лучшей эргономики и здравомыслия, прокрутка колесика мыши должна быть возможной, и обычноScrollViewer будет обрабатывать это автоматически, ноListBox кажется, передает эти события так, что родительScrollViewer никогда их не видит. До сих пор я только мог заставить работать прокрутку колесIsHitTestVisible=False либо дляListBox или родительGrid, но, конечно, ни один из дочерних элементовСобытия мыши после этого работают.

Что я могу сделать, чтобы обеспечитьScrollViewer видит события колеса мыши, сохраняя другие для дочерних элементов?

Изменить: я только что узнал, чтоListBox имеет встроенныйScrollViewer который, вероятно, крадет события колеса от родителяScrollViewer и что указание шаблона элемента управления может отключить его. Я'Я обновлю этот вопрос, если это решит проблему.

Ответы на вопрос(4)

Ваш ответ на вопрос