WPF:滚动查看器帮助MouseWheel行为
问题描述:
出于某种原因,当鼠标移过任何子项时,我的滚动查看器不会处理鼠标滚轮事件(或者至少在滚动鼠标滚轮时)。我希望它能够在鼠标滚轮位于整个滚动查看器区域时滚动鼠标滚轮。无论是或者当您点击滚动条中包含的内容时,无论鼠标位于何处,它都会处理鼠标滚轮,因为它具有焦点。有没有简单的方法来做到这一点?WPF:滚动查看器帮助MouseWheel行为
基本布局树去,像这样的XAML:
<ScrollViewer x:Name="scroller">
<StackPanel x:Name="stackPanel" Orientation="Vertical">
<Expander>
<WrapPanel />
</Expander>
<Expander>
<WrapPanel />
</Expander>
</StackPanel>
</ScrollViewer>
答
我想通了这个问题。我实际上使用了我创建的自定义WrapPanel,并且我忘记了该控件拥有自己的scrollviewer(因为它被设置为Auto size而不可见)。所以wrappanel的滚动器正在从外部滚动器中窃取鼠标滚轮事件。我拿出自定义包装面板中的滚动条,现在一切正常。