Xamarin.Forms 搜索事件以在导航堆栈上推送页面

问题描述 投票:0回答:1

在我的应用程序中,在初始化页面(让我们称之为

FirstPage
)时,我会检查一些条件,并在必要时显示一个警告页面(让我们称之为
WarningPage
)。此页面的内容对于警报框来说过于复杂 - 包含链接和一些格式。

我尝试打电话给

Shell.Current.GoToAsync("WarningPage");
,但我没有找到合适的时机。如果在
OnAppearing()
中调用,
WarningPage
在我关闭 MainPage之后
会显示。

我想要的是导航堆栈包含

FirstPage

 -> 
WarningPage
 -> (也许通过单击 
WarningPage
 中的链接来显示第三页),当他关闭 
FirstPage
 时,他会返回到 
WarningPage
 .

编辑:主页中没有出现错误,但WarningPage

显示
之后我关闭
MainPage

xamarin.forms navigation stack
1个回答
0
投票

似乎解决了这个问题,但不适用于所有情况:我在

Appearing
中使用
FirstPage
事件:

    public FirstPage()
    {
        InitializeComponent();
        this.Appearing += FirstPage_Appearing;
    }

在这个事件中我使用

Navigation.PushModalAsync

    private void FirstPage_Appearing(object sender, System.EventArgs e)
    {
        Navigation.PushModalAsync(new WarningPage());
    }

这符合我想要的但不是真的:

这仅适用于我的一个页面,不幸的是不适用于我真正需要此功能的页面。那么 - 谁能告诉我一种始终有效的方法,可以以编程方式从一个页面切换到第二个页面,并允许使用“后退”功能返回到第一页?

当我有时间时,我会尝试找出它在什么情况下有效以及我必须做什么。

© www.soinside.com 2019 - 2024. All rights reserved.