2016-01-10 37 views
1

我剛剛發現了開發Windows應用程序(UWP)的新方法,而且我面臨着一個我從未有過的問題。無法通過名稱獲取MapControl元素

我有了這個地圖控件:

<HubSection x:Uid="xxx" Header="Map"> 
    <DataTemplate> 
    <Maps:MapControl x:Name="myMapControl" MapServiceToken="XXXXXXXX" Width="700" Height="655" /> 
    </DataTemplate> 
</HubSection> 

,並在後面的我的代碼,

myMapControl.MapElements.Add(mapIcon1); 

但我得到的錯誤說「myMapControl」不是在當前範圍內定義。如果我給另一個元素(例如網格)提供「x:Name」,它就會起作用。

如何在我的C#代碼中獲取我的MapControl? 或者,我怎樣才能將我的mapIcon綁定到地圖上?

謝謝您的回答

回答

2

在的DataTemplates的情況下,它們的內容是不能直接在它被加載的頁面視覺樹untils,這樣的一種方式,如果你只有很少的控制來獲取地圖控件在頁面如下:

<Hub> 
     <HubSection> 
      <DataTemplate> 
       <Maps:MapControl x:Name="MyMapControl" Loaded="MyMapControl_Loaded"/> 
      </DataTemplate> 
     </HubSection> 
    </Hub> 

然後在Loaded事件只是以下幾點:

private MapControl myMapControl; 
    private void MyMapControl_Loaded(object sender, RoutedEventArgs e) 
    { 
     myMapControl = (sender as MapControl); 
    } 
+0

的作品就像一個魅力!非常感謝 – carndacier

相關問題