Ошибка Mapsui: Как исправить, что PresentationSource не имеет значения?
Я начал разрабатывать приложение WPF с Mapsui. Сначала я попытался познакомиться с Mapsui в отдельном проекте Visual Studio. Теперь я хочу включить мой код в мой основной проект.
На данный момент я получаю следующее сообщение об ошибке, из которого я не могу понять:
System.Exception: "PresentationSource is null"
В моем тестовом проекте для Mapsui я не получил эту ошибку.
Я также попытался включить мой код приложения в тестовый проект. Но здесь я также получаю это сообщение об ошибке.
<Grid Grid.Column="1" Grid.Row="0" Margin="10,10,10,10">
<xaml:MapControl Name="MapControl"></xaml:MapControl>
</Grid>
Может быть, кто-то знает идеи, на которые я должен присмотреться, или имеет прямое решение. Большое спасибо за вашу помощь!
0 ответов
Ошибка может быть вызвана ошибкой в конструкторе viewmodel. Я получил эту ошибку в представлении WPF, в котором размещен пользовательский контроль, содержащий mapcontrol Mapsui в приложении WPF MVVM.
System.Exception HResult = 0x80131500 Message = PresentationSource is null Source = Mapsui.UI.Wpf StackTrace: в Mapsui.UI.Wpf.MapControl.DetermineSkiaScale() в Mapsui.UI.Wpf.MapControl.DetermineScale()
Если я установлю RenderMode='Skia' или оставлю это поле пустым, я получу ошибку. Исправлена ошибка путем установки RenderMode в Wpf в xaml в пользовательском контроле. Установка этого RenderMode в wpf также работала в коде, стоящем за usercontrol, устанавливая его в конструкторе usercontrol.
<Wpf:MapControl RenderMode="Wpf" Name="myMapControl" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />
или же
this.myMapControl.RenderMode = Mapsui.UI.Wpf.RenderMode.Wpf;
Цель под моим пользовательским контролем состояла в том, чтобы я мог создать привязку к Mapsui.MapControl.Map к модели представления.
Снимок экрана Mapsui.mapcontrol, размещенного в пользовательском контроле WPF.