WPF: Помощь с поведением Scrollviewer MouseWheel - PullRequest
2 голосов
/ 07 июля 2010

По какой-то причине мой scrollviewer не обрабатывает события колесика мыши (или, по крайней мере, прокручивает при вращении колесика мыши), когда мышь находится над любым дочерним элементом. Я хочу, чтобы либо когда колесо мыши было над всей областью прокрутки, прокручивалось колесо мыши. Либо это, либо когда вы нажимаете на что-то, содержащееся в скроллере, оно обрабатывает колесо мыши независимо от того, где находится мышь, потому что она имеет фокус. Есть ли простой способ сделать это?

Базовое дерево компоновки выглядит так в XAML:

<ScrollViewer x:Name="scroller">
    <StackPanel x:Name="stackPanel" Orientation="Vertical">
        <Expander>
            <WrapPanel />
        </Expander>
        <Expander>
            <WrapPanel />
        </Expander>

    </StackPanel>
</ScrollViewer>

1 Ответ

2 голосов
/ 08 июля 2010

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

...