是否有可能获得任何MouseMove事件的通知,即使是标记为已处理的事件?我有下面的XAML代码:可以处理WP7.1中的所有MouseMove事件吗?
<Grid x:Name="ParentContainer">
<ScrollViewer>
...
</ScrollViewer>
</Grid>
我的目标是让在ScrollViewer中所有的MouseMove事件,或在ScrollViewer中的东西相当接近它像ParentContainer,没有诉诸设置ManipulationMode =“控制”最好的表现。
当在ScrollViewer上设置ManipulationMode =“Control”时,在ParentContainer(或ScrollViewer)上处理MouseMove,但在ManipulationMode =“System”时不能处理。这听起来像是为了提高Mango的性能,ScrollViewer开始吞噬MouseMove事件以提高性能。不过,我希望能够得到这些处理的事件如下:
ParentContainer.AddHandler(???.MouseMoveEvent, MyMouseMoveHandler, true);
在Silverlight或WPF我希望这些代码路由所有鼠标事件MyMouseMoveHandler,甚至是处理的事件。不幸的是,我找不到MouseMoveEvent的静态定义传递给AddHandler。
有没有人在WP7中使用AddHandler和MouseMoveEvent?
我最后的手段可能是在背景=“透明”的ScrollViewer的顶部添加一个叠加层,它可以捕获所有Mouse事件,但不会将它们标记为已处理,并查看它们是否传播到ScrollViewer。
感谢您的彻底解答布赖恩。你是对的,AddHandler()是一种非Silverlight方法,我希望找到一种解决方法(请参阅下面的答案)。 – 2012-04-18 03:40:20