У меня ScrollViewer
с ItemPresenter
внутри. ItemsPresenter
содержит несколько раскрывающихся списков, и когда я открываю один из них, я хотел бы отключить прокрутку родительского ScrollViewer
и снова включить его только тогда, когда раскрывающийся список закрыт. Говоря «отключить», я имею в виду запретить прокрутку вообще (даже с помощью колеса мыши).
Я пытался установить VerticalScrollBarVisibility
на Disabled
следующим образом:
<ScrollViewer HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Disabled">
<ItemsPresenter />
</ScrollViewer>
но это тоже не работает. Он просто скрывает полосу прокрутки, но колесо мыши по-прежнему работает .
Итак, есть ли способ полностью отключить прокрутку ScrollViewer
?
Вот полный код, который у меня есть:
<ListView.Template>
<ControlTemplate>
<ScrollViewer HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="{Binding IsScrollEnabled, Converter={StaticResource BoolToVisibilityConverter}}">
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ListView.Template>
PS Есть много похожих вопросов вроде this и this , но ни один из них не тот, который я хотел .