C# 鼠标滚轮在ScrollViewer上不工作';s子控件

C# 鼠标滚轮在ScrollViewer上不工作';s子控件,c#,.net,wpf,scrollviewer,mousewheel,C#,.net,Wpf,Scrollviewer,Mousewheel,我有点期待ScrollViewer的子控件自动将鼠标滚轮事件交给ScrollViewer,但事实并非如此 我有一个滚动查看器,里面有一个列表框。如果我手动调整列表框的宽度,使其小于ScrollViewer,则鼠标滚轮可在所有ScrollViewer上工作,但当鼠标位于列表框上方时,鼠标滚轮无效 做这件事的标准方法是什么?我是否在ListBox上放置了一个事件触发器,用于在父级上触发事件?我是否在代码隐藏中处理和重新路由事件?列表框的模板中有一个ScrollViewer,因此ScrollViewe

我有点期待ScrollViewer的子控件自动将鼠标滚轮事件交给ScrollViewer,但事实并非如此

我有一个滚动查看器,里面有一个列表框。如果我手动调整列表框的宽度,使其小于ScrollViewer,则鼠标滚轮可在所有ScrollViewer上工作,但当鼠标位于列表框上方时,鼠标滚轮无效


做这件事的标准方法是什么?我是否在ListBox上放置了一个事件触发器,用于在父级上触发事件?我是否在代码隐藏中处理和重新路由事件?

列表框的模板中有一个
ScrollViewer
,因此
ScrollViewer
将处理事件并阻止它们在视觉树上传播


通过在
ScrollViewer
中使用
列表框
,您到底想要实现什么?也许您需要重新设置
列表框的模板,但是如果没有进一步的信息就无法确定。

我不知道ScrollViewer是列表框模板的一部分,因此我假设我必须将列表框放在ScrollViewer中。谢谢。答案如下: