C# 打开bing映射到绑定坐标
因此,当我导航到bing地图应该显示正确位置的页面时,我设置了数据上下文,如下所示:C# 打开bing映射到绑定坐标,c#,wpf,windows-phone-8,C#,Wpf,Windows Phone 8,因此,当我导航到bing地图应该显示正确位置的页面时,我设置了数据上下文,如下所示: protected override void OnNavigatedTo(NavigationEventArgs e) { var k = (app.MainPage.Country)PhoneApplicationService.Current.State["country"]; DataContext = k; } mapsTask.Cen
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var k = (app.MainPage.Country)PhoneApplicationService.Current.State["country"];
DataContext = k;
}
mapsTask.Center = new GeoCoordinate(41.333333,19.800000);
我在xaml中设置了位置:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="0,0,0,0">
<maps:Map x:Name="MyMap" Center="{Binding BingCoordinates}" ZoomLevel="10"/>
</Grid>
感谢您的帮助:)正如一些评论中所述,绑定失败的原因是指定的类型不是预期的类型(GeoCoordinate) 要解决这个问题,我可以想出两种方法。哪一个更合适取决于关于关注分离的想法
什么是字符串对象?我知道你在那里做了什么,它一定是int,对吗老实说,住在这里——几乎没有。不是int。你试过使用GeoCoordinate吗?@igrali我从如下xml文件中获取所有数据:BingCoordinates=(string)query.Element(“BingCoordinates”),你不能用GeoCoordinate更改(string)..你不能显式转换,但是您可以解析它,并拥有另一个类型为GeoCoordinates的属性BingCoordinates Geo,该属性在调用BingCoordinates=(string)query.Element(“BingCoordinates”)后设置,只需解析现有字符串即可。用逗号分开,并从中提取纬度和经度。你知道如何使用c#(mapsTask)来实现这一点吗?因为这样更好,它可以完全打开bing地图,而不仅仅是地图。
mapsTask.Center = new GeoCoordinate(41.333333,19.800000);
var r = (string)query.Element("bingCoordinates").Split(',');
BingCoordinates = new GeoCoordinate(r[0], r[1]);