我已经开始使用 Mapsui 开发 WPF 应用程序。首先,我试图在一个单独的 Visual Studio 项目中熟悉 Mapsui。现在我想将我的代码包含到我的主项目中。
目前我收到以下我无法理解的错误消息:
System.Exception:“PresentationSource 为空”
在我的 Mapsui 测试项目中,我没有遇到这个错误。
我还尝试将我的应用程序代码包含到测试项目中。但在这里我也收到此错误消息。
<Grid Grid.Column="1" Grid.Row="0" Margin="10,10,10,10">
<xaml:MapControl Name="MapControl"></xaml:MapControl>
</Grid>
也许有人知道我应该仔细研究的想法或有直接的解决方案。非常感谢您的帮助!
最佳答案
该错误可能是由 View 模型构造函数中的错误引起的。 我在托管包含 WPF MVVM 应用程序中的 Mapsui mapcontrol 的用户控件的 WPF View 中收到此错误。
系统异常 HResult=0x80131500 Message=PresentationSource 为空 Source=Mapsui.UI.Wpf 堆栈跟踪: 在 Mapsui.UI.Wpf.MapControl.DetermineSkiaScale() 在 Mapsui.UI.Wpf.MapControl.DetermineScale()
如果我设置 RenderMode='Skia' 或将其留空,我会收到错误消息。 通过在用户控件的 xaml 中将 RenderMode 设置为 Wpf 修复了错误。 将此 RenderMode 设置为 wpf 也适用于用户控件背后的代码,将其设置在用户控件的构造函数中。
<Wpf:MapControl RenderMode="Wpf" Name="myMapControl" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />
或
this.myMapControl.RenderMode = Mapsui.UI.Wpf.RenderMode.Wpf;
我的用户控制的目的是让我可以创建 Mapsui.MapControl.Map 到 View 模型的绑定(bind)。
托管在 WPF 用户控件中的 Mapsui.mapcontrol 的屏幕截图。
关于c# - Mapsui 错误 : How to fix PresentationSource is null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53883180/