c# - Mapsui 错误 : How to fix PresentationSource is null?

标签 c# wpf mapsui

我已经开始使用 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 的屏幕截图。

enter image description here

关于c# - Mapsui 错误 : How to fix PresentationSource is null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53883180/

相关文章:

c# - 调试 Topshelf 服务

WPF:为空时隐藏 ContextMenu

c# - 如何为相同类型的 UIElement 编写通用事件处理程序?

c# - 使用 Mapsui 显示线串和轨迹点

xamarin.forms - Mapsui 在 Xamarin Forms 中添加 map 图钉

c# - 在使用 C# 二次方程求解器时遇到问题

c# - 数组中的反射和递归 - StackOverflowException

c# - 如何在 Visual Studio 中从 C++/CLI 和 C# 调用 C++/CLI?

wpf - 我应该如何在 WPF 中实现非基于事件的操作?