C# Mapsui错误:如何修复PresentationSource为空?

C# Mapsui错误:如何修复PresentationSource为空?,c#,wpf,mapsui,C#,Wpf,Mapsui,我已经开始用Mapsui开发WPF应用程序。首先,我在另一个Visual Studio项目中尝试熟悉Mapsui。现在我想将我的代码包括到我的主项目中。 目前,我收到了以下错误消息,我无法从中找到答案: 系统异常:“PresentationSource为空” 在我的Mapsui测试项目中,我没有得到这个错误 我还尝试将我的应用程序代码包含到测试项目中。但在这里我也得到了这个错误信息 <Grid Grid.Column="1" Grid.Row="0"

我已经开始用Mapsui开发WPF应用程序。首先,我在另一个Visual Studio项目中尝试熟悉Mapsui。现在我想将我的代码包括到我的主项目中。

目前,我收到了以下错误消息,我无法从中找到答案:

系统异常:“PresentationSource为空”

在我的Mapsui测试项目中,我没有得到这个错误

我还尝试将我的应用程序代码包含到测试项目中。但在这里我也得到了这个错误信息

<Grid Grid.Column="1" Grid.Row="0" Margin="10,10,10,10">
        <xaml:MapControl Name="MapControl"></xaml:MapControl>
</Grid>


也许有人知道我应该仔细研究的想法,或者有一个直接的解决方案。非常感谢你的帮助

该错误可能是由viewmodel构造函数中的错误引起的。 我在WPF视图中收到此错误,该视图承载一个usercontrol,其中包含WPF MVVM应用程序中的Mapsui mapcontrol

系统异常 HResult=0x80131500 Message=PresentationSource为空 Source=Mapsui.UI.Wpf 堆栈跟踪: 在Mapsui.UI.Wpf.MapControl.DetermineSkiaScale()中 在Mapsui.UI.Wpf.MapControl.DetermineScale()中

如果设置RenderMode='Skia'或将其留空,则会出现错误。 通过在usercontrol中将RenderMode设置为xaml中的Wpf修复了错误。 将此RenderMode设置为wpf也在usercontrol后面的代码中起作用,在usercontrol的构造函数中设置它

<Wpf:MapControl RenderMode="Wpf" Name="myMapControl" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />
我的用户控件下面的用途是,我可以创建到Mapsui.MapControl.Map的绑定到viewmodel

托管在WPF usercontrol中的Mapsui.mapcontrol的屏幕截图


你能试着按照“从头开始”的步骤来告诉我哪里出了问题吗。请使用Mapsui 1.4.8,稳定的版本。所以在我的测试项目中,我从零开始,它运行良好。现在,我用链接中的代码创建了一个新的UserControl。然后我将这个用户控件集成到我的应用程序中。但是这里还有一个错误,为什么需要UserControl呢?你想达到什么目标?您以前创建过UserControl吗?PresentationSource不是Mapsui中的字段或类。您的问题似乎是在UserControl级别,而不是在Mapsui中。首先,我在没有UserControl的情况下尝试了它。但正如我所说,我在这两种情况下都有问题。我不需要用户控件。我只想在网格的某个单元格中显示一个地图。我现在也在我的测试项目中使用UserControl尝试了它。我这里没有任何问题。似乎不是那样的。
this.myMapControl.RenderMode = Mapsui.UI.Wpf.RenderMode.Wpf;