2010-07-07 26 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的滾動器正在從外部滾動器中竊取鼠標滾輪事件。我拿出自定義包裝面板中的滾動條,現在一切正常。