C# 在Xamarin.forms中设置主页会在Android-System.ArgumentException上崩溃

C# 在Xamarin.forms中设置主页会在Android-System.ArgumentException上崩溃,c#,android,xamarin.android,xamarin.forms,master-detail,C#,Android,Xamarin.android,Xamarin.forms,Master Detail,下面是我在Xamarin.Forms项目中的App.css public partial class App : Application { //public static string access_token; //public static string bearer; public static new App Current; public App() { Initializ

下面是我在Xamarin.Forms项目中的App.css

public partial class App : Application
    {
        //public static string access_token;
        //public static string bearer;
        public static new App Current;
        public App()
        {
            InitializeComponent();
            Current = this;
            var isLoggedIn = Properties.ContainsKey("IsLoggedIn") ? (bool)Properties["IsLoggedIn"] : false;

            if (isLoggedIn)
                MainPage = new NavigationPage(new MasterPage());
            else
                MainPage = new NavigationPage(new LoginPage());

        }

      ......

        protected async override void OnResume()
        {
            base.OnResume();

        }

        public async void OnBackButtonPressed(object sender, EventArgs e)
        {

        }
        public void ShowMainPage()
        {
            MainPage = new NavigationPage(new MasterPage());
        }

        public void Logout()
        {
            Properties["IsLoggedIn"] = false; // only gets set to 'true' on the LoginPage

            MainPage = new NavigationPage(new LoginPage());
        }

    }
当我登录时,抽屉图标不显示。

我试着旋转屏幕,现在它显示出来了。

之后,我点击了注销按钮(它调用了我上面提到的App.css的注销功能),它显示

System.ArgumentException
Handle must be valid.
Parameter name :instance

有人能帮我吗

快速信息: -最低Android版本:4.0.3(API级别15) -目标Android版本:自动-使用目标版本(API 25) -Xamarin Android版本:7.3

更新:登录页面

public partial class LoginPage : ContentPage
    {
        RestService service;
        public LoginPage()
        {
            InitializeComponent();
            var signInGesture = new TapGestureRecognizer();
            signInGesture.Tapped += SignInGesture_Tapped;
            signInButton.GestureRecognizers.Add(signInGesture);
            NavigationPage.SetHasNavigationBar(this, false);
        }

        async void SignInGesture_Tapped(object sender, EventArgs e)
        {
            await signInButton.ScaleTo(0.95, 50, Easing.CubicOut);
            signInButton.ScaleTo(1, 50, Easing.CubicIn);
            if (string.IsNullOrEmpty(emailEntry.Text) || string.IsNullOrEmpty(passwordEntry.Text) )
                await DisplayAlert("Error", "Username and Password should not be empty.", "OK");
            else if(!Utils.IsValidEmail(emailEntry.Text))
                await DisplayAlert("Error", "Email should be in valid format.", "OK");
            else
            {
                loadingIndicator.IsRunning = true;
                var login = new Login{
                    grant_type = "password",
                    username = emailEntry.Text,
                    password = passwordEntry.Text
                };
                service = new RestService();
                var response = await service.Login(login);

                if (response != null)
                {
                    if (response.status_code == System.Net.HttpStatusCode.OK)
                    {
                          App.Current.Properties["IsLoggedIn"] = true;
                          App.Current.ShowMainPage();

                    }
                    else
                    {
                        loadingIndicator.IsRunning = false;
                        await DisplayAlert(response.error, response.error_description, "OK");
                    }
                }
                else
                {
                    loadingIndicator.IsRunning = false;
                    await DisplayAlert("Failed", Config.CommonErrorMsg, "OK");
                }

            }
        }

        async void ResetButton_Clicked(object sender, EventArgs e)
        {
            loadingIndicator.IsRunning = false;
            await Navigation.PushAsync(new ForgetPasswordPage());
        }

    }
母版页:CS文件中的构造函数为空,我只是附加XAML

<?xml version="1.0" encoding="UTF-8"?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MyTenantWorld.MasterPage" xmlns:local="clr-namespace:MyTenantWorld;assembly=MyTenantWorld">
    <MasterDetailPage.Master>
       <local:MenuPage x:Name="menuPage" />
   </MasterDetailPage.Master>
   <MasterDetailPage.Detail>
       <NavigationPage>
           <x:Arguments>
               <local:HomePage />
           </x:Arguments>
       </NavigationPage>
   </MasterDetailPage.Detail>
</MasterDetailPage>


不可见的菜单图标带有
NavigationPage.SetHasNavigationBar(此为false)。

不可见的菜单图标带有
NavigationPage.SetHasNavigationBar(此为false)在MasterDetailPage的详细信息页上。

在哪里可以解决该错误?System.ArgumentException:句柄必须有效。参数名称:您能够解决该错误的实例?System.ArgumentException:句柄必须有效。参数名称:实例