C# Xamrin表单导航页面系统.InvalidCastException

C# Xamrin表单导航页面系统.InvalidCastException,c#,xaml,xamarin,C#,Xaml,Xamarin,我不明白它为什么会返回这个错误,我开始认为Visual Studio for Mac中存在一些错误,它在内存中保留了一些东西,我已经转储了Bin和obj文件夹,这并没有什么区别。我的所有包都是最新的 堆栈跟踪 System.InvalidCastException:指定的强制转换无效。 at(包装器castclass)系统。对象:__castclass_,带_缓存(对象,intptr,intptr) D:\agent\u work\2\s\Xamarin.Forms.Core\registrat

我不明白它为什么会返回这个错误,我开始认为Visual Studio for Mac中存在一些错误,它在内存中保留了一些东西,我已经转储了Bin和obj文件夹,这并没有什么区别。我的所有包都是最新的

堆栈跟踪

System.InvalidCastException:指定的强制转换无效。 at(包装器castclass)系统。对象:__castclass_,带_缓存(对象,intptr,intptr) D:\agent\u work\2\s\Xamarin.Forms.Core\registrator.cs:37位于Xamarin.Forms.Internals.registrator1[TRegistrable].GetHandlerForObject[TOut](System.Object obj)[0x0002c]中的Xamarin.Forms.Core\registrator.cs:37位于Xamarin.Forms.Internals.registrator1[TRegistrable].GetHandlerForObject[TOut](D:\agent\u work\2\s\Xamarin.Core\registrator.cs:81 位于:0中的Xamarin.Forms.Platform.iOS.Platform.CreateRenderer(Xamarin.Forms.VisualElement元素)[0x00005] 位于:0中的Xamarin.Forms.Platform.iOS.VisualElementPackager.onChildaded(Xamarin.Forms.VisualElement视图)[0x0002a] 在:0中的Xamarin.Forms.Platform.iOS.VisualElementPackager.Load()[0x0001e]处 位于Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].SetElement(TElement元素)[0x000cc]中:0位于Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].Xamarin.Forms.Platform.iOS.ivisualElementTrenderer.SetElement(Xamarin.Forms.VisualElement元素)[0x00000]中:0 位于:0中的Xamarin.Forms.Platform.iOS.Platform.CreateRenderer(Xamarin.Forms.VisualElement元素)[0x00014] 位于:0中的Xamarin.Forms.Platform.iOS.VisualElementPackager.onChildaded(Xamarin.Forms.VisualElement视图)[0x0002a] 在:0中的Xamarin.Forms.Platform.iOS.VisualElementPackager.Load()[0x0001e]处 位于Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].SetElement(TElement元素)[0x000cc]中:0位于Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].Xamarin.Forms.Platform.iOS.ivisualElementTrenderer.SetElement(Xamarin.Forms.VisualElement元素)[0x00000]中:0 位于:0中的Xamarin.Forms.Platform.iOS.Platform.CreateRenderer(Xamarin.Forms.VisualElement元素)[0x00014] 位于:0中的Xamarin.Forms.Platform.iOS.VisualElementPackager.onChildaded(Xamarin.Forms.VisualElement视图)[0x0002a] 在:0中的Xamarin.Forms.Platform.iOS.VisualElementPackager.Load()[0x0001e]处 在0中的Xamarin.Forms.Platform.iOS.PageRenderer.ViewDidLoad()[0x00086]处 在(包装器管理为本机)objc运行时。消息传递:IntPtr_objc_msgSendSuper(IntPtr,IntPtr) 在/Users/builder/data/lanes/5520/51128b8c/source/xamarin-macios/src/build/ios/native/UIKit/UIViewController.g.cs:2983中的UIKit.UIViewController.get_View()[0x00030] 位于:0中的Xamarin.Forms.Platform.iOS.PageRenderer.get_NativeView()[0x00008] 位于:0中的Xamarin.Forms.Platform.iOS.PageRenderer.SetElement(Xamarin.Forms.VisualElement元素)[0x0004f] 位于:0中的Xamarin.Forms.Platform.iOS.Platform.CreateRenderer(Xamarin.Forms.VisualElement元素)[0x00014] 在Xamarin.Forms.Platform.iOS.NavigationRenderer.CreateViewControllerFormage(Xamarin.Forms.Page页面)[0x00008]中:0 在Xamarin.Forms.Platform.iOS.NavigationRenderer+d_u45.MoveNext()[0x00016]中:0 位于/Library/Frameworks/Xamarin.iOS.framework/Versions/11.3.0.47/src/mono/mcs/class/referencesource/mscorlib/System/Runtime/ExceptionServices/ExceptionServices/exceptionservicescommon.cs:151中的System.Runtime.ExceptionDispatchInfo.thinfo()[0x0000c] 在/Library/Frameworks/Xamarin.iOS.framework/Versions/11.3.0.47/src/mono/mcs/class/referencesource/mscorlib/System/Runtime/CompilerServices/TaskAwaiter.cs:187中的System.Runtime.CompilerServices.taskwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)[0x00037] 在/Library/Frameworks/Xamarin.iOS.framework/Versions/11.3.0.47/src/mono/mcs/class/referencesource/mscorlib/System/Runtime/CompilerServices/TaskAwaiter.cs:156中的System.Runtime.CompilerServices.taskwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task任务)[0x00028]处 在/Library/Frameworks/Xamarin.iOS.framework/Versions/11.3.0.47/src/mono/mcs/class/referencesource/mscorlib/System/Runtime/CompilerServices/TaskAwaiter.cs:128中的System.Runtime.CompilerServices.taskwaiter.ValidateEnd(System.Threading.Tasks.Task任务)[0x00008] 在/Library/Frameworks/Xamarin.iOS.framework/Versions/11.3.0.47/src/mono/mcs/class/referencesource/mscorlib/System/Runtime/CompilerServices/taskwaiter.cs:357中的System.Runtime.CompilerServices.taskwaiter`1[TResult].GetResult()[0x00000] 位于:0中的Xamarin.Forms.Platform.iOS.NavigationRenderer+d.MoveNext()[0x00067] 位于/Library/Frameworks/Xamarin.iOS.framework/Versions/11.3.0.47/src/mono/mcs/class/referencesource/mscorlib/System/Runtime/ExceptionServices/ExceptionServices/exceptionservicescommon.cs:151中的System.Runtime.ExceptionDispatchInfo.thinfo()[0x0000c] 在/Library/Frameworks/Xamarin.iOS.framework/Versions/11.3.0.47/src/mono/mcs/class/referencesource/mscorlib/System/Runtime/CompilerServices/asynchmethodbuilder.cs:1018中的System.Runtime.CompilerServices.asynchmethodbuildercore+c.b_u6_0(System.Object状态)[0x00000] 在/Users/builder/data/lanes/5520/51128b8c/source/xamarin-macios/src/UIKit/UIKit/UIKitSynchronizationContext.cs:24中的UIKit.UIKitSynchronizationContext+c_u_uannstorey0.m_u_u0()[0x00000] 在NasyNycActhPosiCur..Apple()0[0x0000 ]中/用户/生成器/数据/通道/ 5520 /5128B8C/Soal/XAMARIN MACSI/SRC/地基/NasActual.Cs:163 在(包装器管理为本机)UIKit.UIApplication:UIApplicationMain(int,string[],intptr,intptr) 在/Users/builder/data/lanes/5520/51128b8c/source/xamarin-macios/src/UIKit/UIApplication.cs:79中的UIKit.UIApplication.Main(System.String[]args,System.IntPtr-principal,System.IntPtr-delegate)[0x00005] 在/Users/builder/data/lanes/5520/51128b8c/source/xamarin macios/src/UIKit/UIApplication.cs:63中的UIKit.UIApplication.Main(System.String[]args,System.String principalClassName,System.String delegateClassName)[0x00038]处 在EssentialsProMobile.iOS.Applicationo
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:SignaturePadDemo"
             xmlns:signatures="clr-namespace:SignaturePad.Forms;assembly=SignaturePad.Forms"
             x:Class="EssentialsProMobile.MainPage"
             Title="Draw Signature">
<Grid Padding="20" RowSpacing="20">
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <signatures:SignaturePadView 
        x:Name="signaturePad"
        VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"
        Grid.Row="0" />

    <Button
        HorizontalOptions="FillAndExpand"
        Text="Show Image"
        Clicked="OnShowImage"
        Grid.Row="1" />

</Grid>
using System;
using Xamarin.Forms;
using SignaturePad.Forms;
using PCLStorage;

namespace EssentialsProMobile
{

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void OnShowImage(object sender, EventArgs e)
    {
        // get the file name
        var folder = FileSystem.Current.LocalStorage;
        var file = await folder.CreateFileAsync($"signature.jpg", CreationCollisionOption.GenerateUniqueName);

        // create some settings to control the output
        var settings = new ImageConstructionSettings
        {
            BackgroundColor = Color.White,
            StrokeColor = Color.Black,
        };

        // write the signature stream to the file stream
        using (var stream = await signaturePad.GetImageStreamAsync(SignatureImageFormat.Jpeg, settings))
        using (var fileStream = await file.OpenAsync(FileAccess.ReadAndWrite))
        {
            // copy the bytes
            await stream.CopyToAsync(fileStream);
        }

        // success
        await DisplayAlert("Signature Saved", "Signature file saved successfully.\nLoading preview...", "OK");

        // show the image preview
        var previewPage = new ContentPage
        {
            Title = "View Signature",
            Content = new Image
            {
                Source = ImageSource.FromFile(file.Path),
                Margin = new Thickness(20)
            }
        };
        await Navigation.PushAsync(previewPage);
    }
}
}
namespace EssentialsProMobile
{
public partial class App : Application
{
readonly Services.IAuthenticationService _AuthenticationService;

    static Application app;

    static Data.EssentialsProDatabase database;

    public static Application CurrentApp
    {
        get { return app; }
    }
    public App()
    {
        InitializeComponent();
        app = this;
        _AuthenticationService = DependencyService.Get<Services.IAuthenticationService>();

        // If the App.IsAuthenticated property is false, modally present the SplashPage.
        if (!_AuthenticationService.IsAuthenticated)
        {
            //Load Login Page
            var page = new SplashPage();
            //Testing....
            //var page = new Services.SignaturePadView();
            NavigationPage.SetHasNavigationBar(page, false);



            MainPage = new NavigationPage(new MainPage());
        }
        else
        {
            GoToRoot();
        }