. Я пытаюсь привязать коллекции точек к элементу управления Bing, и все работает отлично в первый раз (когда я открываю представление с этой картой в первый раз), но каждая другая попытка заканчивается этим чистым сообщением в окне вывода:Windows Phone 8.1 с отображением Bing-карт. Нарушение прав доступа.
The program 'xxx' has exited with code -1073741819 (0xc0000005) 'Access violation'.
Исключений нет, только это сообщение. То, что я пробовал до сих пор, является статьей this из MSDN, но безуспешно. Я также пытался запустить код в потоке пользовательского интерфейса, но это не помогло.
В ViewModel я это делаю:
Issues.Completed +=() =>
{
Locations = new ObservableCollection<MapItemViewModel>();
foreach (var issueLto in Issues.Result)
{
Locations.Add(new MapItemViewModel
{
Name = issueLto.Title,
Location = new MapPointViewModel
{
Longitude = issueLto.Longitude,
Latitude = issueLto.Latitude
}
});
}
MapCenter = Issues.Result.Select(c => new MapCenterViewModel
{
Location = new MapPointViewModel
{
Latitude = c.Latitude,
Longitude = c.Longitude
}
}).FirstOrDefault();
};
И в XAML:
<maps:MapControl
MapServiceToken="{StaticResource BingServiceToken}"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Center="{Binding MapCenter.Location, Converter={StaticResource MapCoordinatesConverter}}">
<maps:MapItemsControl ItemsSource="{Binding Locations}">
<maps:MapItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel maps:MapControl.Location="{Binding Location, Converter={StaticResource MapCoordinatesConverter}}">
<TextBlock Text="{Binding Name}" Foreground="Black"/>
<Image Source="../../Assets/mappin.png" Height="25"/>
</StackPanel>
</DataTemplate>
</maps:MapItemsControl.ItemTemplate>
</maps:MapItemsControl>
</maps:MapControl>
Привет, я также подумал об этой проблеме, но это странное поведение связано с коллекцией «Locations», потому что, когда я прокомментирую это, и только центр карты рассчитан, приложение не сбой. –