gpt4 book ai didi

xamarin - 在 Xamarin.Forms 中的 OnStart 期间设置 MainPage = NavigationPage 在 Android 中显示空白屏幕

转载 作者:行者123 更新时间:2023-12-02 16:16:26 25 4
gpt4 key购买 nike

我有一个 Xamarin Forms 应用程序,我在 OnStart 期间将 MainPage 设置为 NavigationPage。
导航页面是静态(保存在内存中以供重用)。
当我按下 Android 中的后退按钮并返回到应用程序时,OnStart 方法会再次执行,并且应用程序会显示空白屏幕。

在此处查看重现:Xamarin.Forms OnStart Navigation

public partial class App : Application
{
private static readonly NavigationPage NavigationPage = new NavigationPage(new MainPage());
public App ()
{
InitializeComponent();
}

protected override void OnStart()
{
MainPage = NavigationPage;
}
}

如果我在构造函数中执行相同的操作,应用程序将按预期运行:没有空白屏幕,并且显示最后访问的页面。

在此处查看重现:Xamarin.Forms Constructor Navigation

public partial class App : Application
{
private static readonly NavigationPage NavigationPage = new NavigationPage(new MainPage());
public App ()
{
InitializeComponent();

MainPage = NavigationPage;
}
}

在构造函数中设置 MainPage 和在 OnStart 方法中设置 MainPage 有什么区别?

最佳答案

您不会在 onstart 中执行此操作,并在 init 调用之外初始化静态主页。

在构造函数中的InitializeComponents之后执行此操作。

像这样:

public partial class App : Application
{
private static readonly NavigationPage NavigationPage;
public App ()
{
InitializeComponent();
NavigationPage = new NavigationPage(new MainPage());

MainPage = NavigationPage;
}
}

关于xamarin - 在 Xamarin.Forms 中的 OnStart 期间设置 MainPage = NavigationPage 在 Android 中显示空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50603118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com