【问题标题】:Xamarin Forms Map on UWP throws exceptionUWP 上的 Xamarin Forms Map 引发异常
【发布时间】:2019-01-29 19:00:23
【问题描述】:

我正在创建一个应该在 Android、iOS 和 Windows UWP 中运行的 Xamarin Forms 应用程序。应用程序主页的内容由放置在 Telerik UI RadSlideView 内的几张幻灯片组成,这些幻灯片的内容是为每个用户定义的,并且是从 API 获得的。这些幻灯片的一个可能组成部分是我使用Xamarin.Forms.Maps.Map 展示的地图。

在 Android 和 iOS 中一切正常,但在 Windows UWP 中有一个奇怪的行为:如果地图不在第一张幻灯片上(应用程序启动时显示的那张),那么它可以正常工作,但如果地图处于打开状态在第一张幻灯片中,它会在 MapRenderer 类的私有方法中抛出一个 NullReferenceException

大多数时候我只是得到一个窗口,说明有一个异常,没有任何进一步的细节:

有时异常会被调试器捕获,我可以得到它的详细信息:

Source: Xamarin.Forms.Maps.UWP

> StackTrace:
    at Xamarin.Forms.Maps.UWP.MapRenderer.<MoveToRegion>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xamarin.Forms.Maps.UWP.MapRenderer.<>c__DisplayClass0_0.<<OnElementChanged>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
   at System.Threading.WinRTSynchronizationContextBase.Invoker.InvokeCore()

我不知道我可以尝试什么让它正常工作。有什么建议吗?

【问题讨论】:

    标签: xamarin.forms xamarin.uwp uwp-maps


    【解决方案1】:

    在尝试了几种解决方法后,我终于设法让它工作了。

    我已经怀疑这与页面元素的初始化时间有关,所以我尝试以不同的方式创建地图,并且成功了。我使用了here建议的方法。

    【讨论】:

      猜你喜欢
      • 2019-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      • 2019-09-15
      • 2017-11-04
      • 1970-01-01
      相关资源
      最近更新 更多