2013-01-17 20 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真的很強大,適用於我的情況! –

相關問題