在我的应用程序中,在初始化页面(让我们称之为
FirstPage
)时,我会检查一些条件,并在必要时显示一个警告页面(让我们称之为WarningPage
)。此页面的内容对于警报框来说过于复杂 - 包含链接和一些格式。
我尝试打电话给
Shell.Current.GoToAsync("WarningPage");
,但我没有找到合适的时机。如果在 OnAppearing()
中调用,WarningPage
在我关闭 MainPage
之后会显示。我想要的是导航堆栈包含
FirstPage
->
WarningPage
-> (也许通过单击
WarningPage
中的链接来显示第三页),当他关闭
FirstPage
时,他会返回到
WarningPage
.
编辑:主页中没有出现错误,但WarningPage
显示之后我关闭
MainPage
。
我似乎解决了这个问题,但不适用于所有情况:我在
Appearing
中使用FirstPage
事件:
public FirstPage()
{
InitializeComponent();
this.Appearing += FirstPage_Appearing;
}
在这个事件中我使用
Navigation.PushModalAsync
:
private void FirstPage_Appearing(object sender, System.EventArgs e)
{
Navigation.PushModalAsync(new WarningPage());
}
这符合我想要的但不是真的:
这仅适用于我的一个页面,不幸的是不适用于我真正需要此功能的页面。那么 - 谁能告诉我一种始终有效的方法,以编程方式从一个页面切换到第二个页面,并允许使用“后退”功能返回到第一页?
当我有时间时,我会尝试找出它在什么情况下有效以及我必须做什么。