2010-07-07 2 views
2

어떤 이유로 인해 내 scrollviewer가 마우스 위에있을 때 마우스 휠 이벤트 (또는 적어도 마우스 휠을 스크롤 할 때)를 처리하지 않습니다. 마우스 휠이 전체 scrollviewer 영역 위에있을 때 마우스 휠이 스크롤되도록 마우스를 올리면됩니다. 스크롤러에 포함 된 것을 클릭하거나 포커스를 가지고 있기 때문에 마우스가 어디에 있더라도 마우스 휠을 처리합니다. 이 작업을 수행하는 쉬운 방법이 있습니까?WPF : Scrollviewer MouseWheel Behavior에 대한 도움말

기본 레이아웃 나무는 XAML에서 같은 간다 :

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

    </StackPanel> 
</ScrollViewer> 

답변

2

내가 문제를 알아 냈어. 실제로 내가 만든 사용자 정의 WrapPanel을 사용하고 있었고 컨트롤에 자체 scrollviewer가 있음을 잊었습니다 (자동 크기로 설정 되었기 때문에 invisble이 있음). 그래서 래퍼 넬의 스크롤러는 외부 스크롤러에서 마우스 휠 이벤트를 훔쳐 가고있었습니다. 커스텀 랩 패널에서 스크롤러를 꺼내서 모든 것이 정상적으로 작동합니다.