2013-01-17 19 views
1

我正在使用Windows Phone 8中的地图控件。如何知道何时首次操作Map控件?

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

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

我可以考虑用户的第一次操作是第二次触发CenterChanged。 但是这是一个黑客攻击或猜测,我不高兴不了解它是如何工作的。

回答

4

地图控件拦截并处理操作事件,因此您不会获得所有这些事件。请记住,一旦路由事件标记为e.Handled = true,它们不再起泡。

根据您的情况WP8暴露UseOptimizedManipulationRouting属性,这可能会证明是有用的。设置UseOptimizedManipulationRouting = false会导致Map,Pivot和其他控件不能吞服嵌套控件的事件。

如果没有帮助,看看下面的诺基亚维基文章在那里像你一样笔者遇到了同样的问题,用Touch.FrameReported摆脱它@http://www.developer.nokia.com/Community/Wiki/Real-time_rotation_of_the_Windows_Phone_8_Map_Control

+0

UseOptimizedManipulationRouting有助于提高只有ManipulationCompleted事件,但Touch.FrameReported真的很强大,适用于我的情况! –

相关问题