WPF:帮助Scrollviewer MouseWheel行为

时间:2010-07-07 05:19:58

标签: c# wpf scrollviewer mousewheel expander

由于某些原因,当鼠标悬停在任何孩子身上时,我的scrollviewer不会处理鼠标滚轮事件(或者至少在鼠标滚轮时滚动)。我想要它,以便当鼠标滚轮位于整个滚动查看器区域时,鼠标滚轮滚动。无论是当您单击滚动条中包含的内容时,它都会处理鼠标滚轮,无论鼠标位于何处,因为它具有焦点。有没有简单的方法呢?

基本布局树在XAML中是这样的:

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

    </StackPanel>
</ScrollViewer>

1 个答案:

答案 0 :(得分:2)

我弄明白了这个问题。我实际上使用的是我创建的自定义WrapPanel,我忘记了控件有自己的scrollviewer(因为它设置为自动大小而不可见)。因此,wrappanel的滚动条正在从外部滚动条中窃取鼠标滚轮事件。我在自定义包装面板中取出了卷轴,现在一切正常。