2011-03-31 4 views
5

내 C# WPF 응용 프로그램에 Expanders 요소 인 ListView가 포함되어 있습니다. 이러한 각 확장기에는 ListViewItem이있는 ListView가 포함되어 있습니다. 다음은 사진입니다. enter image description hereListView를 포함하는 Expanders가 포함 된 ListView 스크롤이 작동하지 않습니다.

오른쪽에는 스크롤 막대가 있습니다. 그리고 그 ScrollBar 내 문제입니다. 확장 된 목록을 통해 마우스 휠을 사용하는 경우

  1. 는 스크롤이 작동하지 않습니다 : 그것은 두 가지 문제를 가지고있다. 그 말은 "컨트롤러"에서 "전체 설치"까지의 영역을 의미합니다. 헤더 ("모든 테스트") 위로 마우스를 가져 가면 ScrollBar가 스크롤됩니다. Expander 내부의 ListView에는 기본적으로 MouseWheel 이벤트를 "훔치는"ScrollBar가 있다고 생각합니다. 그러나, 나는 그것을 어떻게 대처해야할지 모른다.

  2. ScrollBar는 확장자 항목을 스크롤하며 확장자 내용은이 아닙니다. 그 말은, 조금 아래로 스크롤하는 것이 불가능하다는 것입니다. 대신 적어도 하나의 익스 팬더 아이템을 스크롤하십시오. 예를 들어 "모든 테스트"익스팬더의 절반을 볼 수 있도록 스크롤바를 스크롤하고 싶습니다.

그림에 사용되지 않는 스크롤바가 표시되지만 창을 작게하면 스크롤바가 활성화됩니다. ,이 문제 하나를 해결하지만 그것은 마우스 휠이 전혀 작동하지 않는다는 것을 의미 : 외부의 ListView 외부

  1. 에서 ScrollViewer를 :

    는 지금까지 시도 무엇! 이는 외부 ListView가 MouseWheel 이벤트를 "훔치는"자체 ScrollViewer (Snoop을 사용하여이를 찾습니다)를 생성하기 때문입니다. 모든 컨트롤의

  2. 옴 모든 마우스 휠 이벤트 (ListView에는, 확장기, ListViewItem이)가 ScrollViewer에로는 : 다시 나는 외부의 ListView의 외부에서 ScrollViewer를 사용하고 이번에는 내 모든 컨트롤의 마우스 휠 이벤트를 사용 외부 ScrollViewer의 MouseWheel 이벤트를 호출합니다. 그러나 마우스 포인터의 일부 위치에서는 작동하지 않았습니다. 예를 들어 두 ListViewItem 사이에는 MouseWheel 이벤트가 발생하지 않는 작은 1mm 공간이 있습니다. 또는 마지막 Expander 이후의 하단 ("Short Tests"). 나는 어떤 사건도 일으키지 않는다.

나는 몇 가지 더 시도했지만 더 이상 얻지 못했습니다. 누구든지 해결 방법을 알고 있습니까? 당신이 itemscontrols 중첩 때 마우스 휠 동작을 제어하는 ​​연결 동작을 작성하는 방법에 대한

행복을 빌며,

답변

관련 문제