我正在创建一个Xamarin Forms应用程序,该应用程序应该可以在Android,iOS和Windows UWP中运行。该应用程序主页的内容由放置在Telerik UI RadSlideView
中的几张幻灯片组成,这些幻灯片的内容是为每个用户定义的,并且可以从API获取。这些幻灯片的可能组件之一是我使用Xamarin.Forms.Maps.Map
显示的地图。
在Android和iOS上都可以正常运行,但在Windows UWP中却有一个奇怪的行为:如果地图不在第一张幻灯片上(应用启动时显示的那张),则可以正常工作,但是如果地图在第一张幻灯片然后在NullReferenceException
类的私有方法中抛出MapRenderer
。
大多数时候,我只是看到一个窗口,说明有一个异常,而没有任何进一步的细节:
有时调试器会捕获异常,我可以获得其详细信息:
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()
我不知道如何才能使其正常工作。有什么建议吗?
答案 0 :(得分:0)
尝试了几种解决方法后,我终于设法使其正常工作。
我已经怀疑这与页面元素初始化的时间有关,因此我尝试以另一种方式创建地图并且它起作用。我使用了建议的方法here。