C# can';无法按名称获取MapControl元素

C# can';无法按名称获取MapControl元素,c#,uwp,C#,Uwp,我刚刚发现开发Windows应用程序(UWP)的新方法,我面临着一个前所未有的问题 我有一个地图控件: <HubSection x:Uid="xxx" Header="Map"> <DataTemplate> <Maps:MapControl x:Name="myMapControl" MapServiceToken="XXXXXXXX" Width="700" Height="655" /> </DataTemplate> <

我刚刚发现开发Windows应用程序(UWP)的新方法,我面临着一个前所未有的问题

我有一个地图控件:

<HubSection x:Uid="xxx" Header="Map">
  <DataTemplate>
    <Maps:MapControl x:Name="myMapControl" MapServiceToken="XXXXXXXX" Width="700" Height="655" />
  </DataTemplate>
</HubSection>
但我得到的错误是“myMapControl”未在当前范围中定义。如果我给另一个元素(例如网格)一个“x:Name”,它就会工作

如何在C代码中获取地图控件? 或者,如何将我的mapIcon绑定到地图


感谢您的回答

对于DataTemplates,在加载页面可视化树之前,它们的内容不会直接出现在页面可视化树中,因此,如果您只有几个控件可以在页面中获取MapControl,则有一种方法如下所示:

  <Hub>
        <HubSection>
            <DataTemplate>
                <Maps:MapControl x:Name="MyMapControl" Loaded="MyMapControl_Loaded"/>
            </DataTemplate>
        </HubSection>
    </Hub>
 private MapControl myMapControl;
    private void MyMapControl_Loaded(object sender, RoutedEventArgs e)
    {
        myMapControl = (sender as MapControl);
    }
 private MapControl myMapControl;
    private void MyMapControl_Loaded(object sender, RoutedEventArgs e)
    {
        myMapControl = (sender as MapControl);
    }