2009-04-17 72 views
8

我期待着我的ScrollViewer的子控件將MouseWheel事件自動備份到ScrollViewer中,事實並非如此。鼠標滾輪在ScrollViewer的子控件上不工作

我有一個ScrollViewer,裏面有一個ListBox。如果我手動調整ListBox的寬度使其小於ScrollViewer的大小,MouseWheel可以在所有的ScrollViewer上工作,但當鼠標位於ListBox上方時不起作用。

這樣做的標準方法是什麼?我是否在ListBox上放置了觸發父級事件的事件觸發器?我是否會在後面的代碼中處理和重新路由該事件?

+1

答案在這裏:http://serialseb.blogspot.com/2007/09/wpf-tips-6-preventing-scrollviewer-from.html – 2011-02-03 14:02:58

回答

16

ListBox的模板中有一個ScrollViewer,所以ScrollViewer將處理事件並阻止它們向上傳播可視樹。

你在ScrollViewer裏面設置ListBox究竟是爲了達到什麼目的?也許你需要重新模板ListBox,但沒有更多的信息就不可能說出來。

+0

我不知道ScrollViewer是列表框模板的一部分,所以我假設我不得不將ListBox放在ScrollViewer中。謝謝。 – Rich 2009-04-17 17:27:48