是否有可能獲得任何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