2009-04-17 18 views
8

私は、ScrollViewerの子コントロールがMouseWheelイベントを自動的にScrollViewerに渡すことを期待していましたが、そうではありません。ScrollViewerの子コントロール上でマウスホイールが動作しない

私はそれにリストボックスを持つScrollViewerを持っています。手動でListBoxの幅をScrollViewerより小さくすると、MouseWheelはすべてのScrollViewerで機能しますが、マウスがListBoxの上に置かれても効果はありません。

これを行うための標準的な方法は何ですか?親のイベントを発生させるイベントトリガーをListBoxに配置しますか?コードの中でイベントを処理して再ルーティングしますか?

+1

回答はこちらhttp://serialseb.blogspot.com/2007/09/wpf-tips-6-preventing-scrollviewer-from.html –

答えて

16

ListBoxのテンプレートのテンプレートはScrollViewerであるため、ScrollViewerはイベントを処理し、ビジュアルツリーを伝播しないようにします。

具体的にはScrollViewerの中にListBoxを含めることで達成しようとしていますか?おそらく、ListBoxのテンプレートを再作成する必要がありますが、それ以上の情報なしで言うことは不可能です。

+0

ScrollViewerがListBoxのテンプレートの一部であることはわかりませんでした私はListBoxをScrollViewerの中に置かなければならないという前提の下にいました。ありがとう。 – Rich

関連する問題