C# 在Windows 8.1中重写鼠标滚轮行为

C# 在Windows 8.1中重写鼠标滚轮行为,c#,vb.net,xaml,windows-store-apps,windows-8.1,C#,Vb.net,Xaml,Windows Store Apps,Windows 8.1,我正在为Windows 8.1创建一个Windows应用商店应用程序(Metro),我有一个ScrollViewer控件托管图像和其他控件。鼠标滚轮的默认行为是滚动,如果与CTRL按钮结合使用,则可以缩放。我想更改该行为,使其在不需要CTRL按钮的情况下进行缩放。不幸的是,由于Windows 8.1不再触发指针heelchanged事件,并且由于它是一个密封类,我无法将其子类化 除了降级到Windows 8之外,还有什么方法可以实现我自己的鼠标滚轮行为吗?更改人机界面的默认上下文行为通常是一个非

我正在为Windows 8.1创建一个Windows应用商店应用程序(Metro),我有一个
ScrollViewer
控件托管图像和其他控件。鼠标滚轮的默认行为是滚动,如果与CTRL按钮结合使用,则可以缩放。我想更改该行为,使其在不需要CTRL按钮的情况下进行缩放。不幸的是,由于Windows 8.1不再触发
指针heelchanged
事件,并且由于它是一个密封类,我无法将其子类化


除了降级到Windows 8之外,还有什么方法可以实现我自己的鼠标滚轮行为吗?

更改人机界面的默认上下文行为通常是一个非常糟糕的主意,除非它产生的行为与您的应用程序的早期版本一致(因此是预期的).@BrianDriscoll-这正是我想尝试这样做的原因。我们的用户希望鼠标滚轮可以改变缩放。是的,在地图和其他应用程序中,滚动比缩放更不寻常。引用MSDN:“对于Windows 8,ScrollViewer控制部件处理的轨迹板设备手势输入被解释为鼠标滚轮输入,因此将触发PointerWheelChanged事件。从Windows 8.1开始,ScrollViewer使用底层操作逻辑,将轨迹板手势解释为ScrollViewer响应的动作,因此该手势被认为是由控件处理的,不再触发PointerWheelChanged事件。“@HansPassant,我想知道这是否意味着他只需要在ManipulationStarted上收听
,然后过滤滚动操作。