2013-07-27 23 views
0

我試圖將地圖添加到我的應用程序。 地圖需要顯示定製的針腳(來自PNG圖像) 而且他們每個人都需要以某種方式包含我將用來從數據庫檢索數據的ID。C#Windows Phone - 包含相關數據的自定義圖釘

當用戶點擊他們所以基本上,對相關事件,我需要能夠檢索ID ...

我一直想兩個選項:


第一一個是微軟網站上描述的那個: http://msdn.microsoft.com/en-us/windowsphonetrainingcourse_usingbingmapslab_topic3.aspx

這可以創建定製的引腳....但我找不到存儲任何數據的方法,我將能夠在稍後檢索。因爲當我創建一個針我在PushpinModel上工作的引腳時,但是當其中一個點擊事件發生時,發件人不再是PushpinModel,而只是一個Pushpin。


第二個是在很多網站和教程描述的,基本上暗示產生具有透明背景和將一圖像作爲內容或前景圖釘。 (例如http://www.geekchamp.com/articles/windows-phone-drawing-custom-pushpins-on-the-map-control-what-options-do-we-have

有了一個我可以肯定存儲ID和retreive它發送者變種時的圖釘被竊聽.....但畫面完全矗立在地圖上的位置不正確,因爲它不實際上從位置點開始,但只出現在透明圖釘的「內容」矩形上。

所以,回顧一下: 第一個選項:自定義引腳顯示在正確的位置,但我無法檢索到ID。 第二種選擇:我可以檢索ID,但是定製的針腳不會顯示在正確的位置。

有關如何解決2個問題之一的任何想法? 或.....你有第三種選擇嗎?

回答

1

您可以從圖釘中檢索PushpinModel。如果你遵循你鏈接的教程,你已經通過綁定一個PushpinModel到MapItemsControl來創建圖釘。在這種情況下,PushpinModel存儲在圖釘的DataContext屬性中。從圖釘的單擊事件檢索,第一投的sender參數,那麼DataContext屬性:

var pushpin = (Pushpin)sender; 
var model = (PushpinModel)pushpin.DataContext; 
+0

唔是什麼呢? DataContext的?很好,謝謝!我會立即嘗試:) – BkdD