2010-07-07 25 views
2

出于某种原因,当鼠标移过任何子项时,我的滚动查看器不会处理鼠标滚轮事件(或者至少在滚动鼠标滚轮时)。我希望它能够在鼠标滚轮位于整个滚动查看器区域时滚动鼠标滚轮。无论是或者当您点击滚动条中包含的内容时,无论鼠标位于何处,它都会处理鼠标滚轮,因为它具有焦点。有没有简单的方法来做到这一点?WPF:滚动查看器帮助MouseWheel行为

基本布局树去,像这样的XAML:

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

    </StackPanel> 
</ScrollViewer> 

回答

2

我想通了这个问题。我实际上使用了我创建的自定义WrapPanel,并且我忘记了该控件拥有自己的scrollviewer(因为它被设置为Auto size而不可见)。所以wrappanel的滚动器正在从外部滚动器中窃取鼠标滚轮事件。我拿出自定义包装面板中的滚动条,现在一切正常。