1

我在 Windows Phone 8 中使用地图控件。

我需要实现一个页面,用户可以使用地图控件选择他的位置。我想知道用户首次操作该应用程序的时间。

一些背景信息:我看到当控件显示时,它会自动将世界地图居中,并引发 CenterChanged 事件。我无法理解 ManipulationStarted、ManipulationDelta 和 ManipulationCompleted 是如何工作的。我第一次拖动时,没有调用 ManipulationStarted,只有 ManipulationCompleted。

我可以将用户的第一次操作视为第二次触发 CenterChanged。但这是一个 hack 或猜测,我不高兴没有很好地理解它是如何工作的。

4

1 回答 1

4

Map 控件拦截并处理 Manipulation 事件,因此您不会获得所有这些事件。请记住,一旦路由事件被标记为 e.Handled=true,它们就不再冒泡。

根据您的场景,WP8 公开了可能有用的UseOptimizedManipulationRouting属性。设置 UseOptimizedManipulationRouting=false 会导致 Map、Pivo​​t 和其他控件不会吞下嵌套控件的事件。

如果这没有帮助,请查看以下诺基亚 Wiki 文章,其中作者遇到了与您相同的问题并使用 Touch.FrameReported 摆脱它@http ://www.developer.nokia.com/社区/Wiki/Real-time_rotation_of_the_Windows_Phone_8_Map_Control

于 2013-01-18T00:57:30.197 回答