我想在Hub控件中创建一个mapcontrol,但每次我尝试从CS文件访问时,我都找不到名字!这是代码!
<HubSection Header="Rotas e Mapas" Foreground="White">
<DataTemplate>
<Grid>
<Maps:MapControl
x:Name="MapControl1"
MapServiceToken="ubgfhnhduyekheddjd"/>
</Grid>
</DataTemplate>
</HubSection>
答案 0 :(得分:0)
您的问题是您的地图控件位于DataTemplate
内。它存在于Visual Tree而不是Logical树中。我建议您阅读有关此主题的文章 - How to access a named control inside a XAML DataTemplate (using CSharp)
答案 1 :(得分:0)
您可以处理MapControl控件的Loaded事件,并在其中将sender参数转换为MapControl并将其分配给页面变量。
<HubSection Header="Map">
<HubSection.ContentTemplate>
<DataTemplate>
<Maps:MapControl Loaded="MapControl_Loaded" ...
public sealed partial class HubPage : Page
{
private MapControl map;
...
private async void MapControl_Loaded(object sender, RoutedEventArgs e)
{
map = (MapControl)sender;
map.Style = MapStyle.Aerial;
...