未显示 Xamarin 窗体页面 (iOS)

本文关键字:iOS 显示 Xamarin 窗体 | 更新日期: 2023-09-27 18:33:01

我在Xamarin.Forms中做了一个有2页的测试应用程序。主页是我想放置登录页面的堆栈的开始。在PushModalAsync之后,登录页面不显示。

随函附上我有一个测试项目的 zip 文件。

测试项目

    public static async void StartLogin()
    {
        Button btnLogin = new Button();
        btnLogin.Text = "Login";
        btnLogin.BackgroundColor = Color.Green;
        btnLogin.TextColor = Color.White;
        ContentPage _loginPage = new ContentPage
                                 {
                                         Title = "Login",
                                         Content = new StackLayout
                                                   {
                                                           Spacing = 20,
                                                           Padding = 50,
                                                           VerticalOptions = LayoutOptions.Center,
                                                           Children =
                                                           {
                                                                   btnLogin,
                                                           }
                                                   }
                                 };
        _loginPage.BackgroundColor = Color.Black;

        await Navigation.PushAsync(_loginPage);
    }

未显示 Xamarin 窗体页面 (iOS)

尝试:

Device.BeginInvokeOnMainThread(() => Navigation.PushAsync(_loginPage););

由于导航是 UI 操作,因此必须在 UI 线程上执行。如果您将其保留为原样,则不会发生任何事情,因为它尚未在 UI 线程上执行。使用Device.BeginInvokeOnMainThread应该可以解决这个问题