我有4页,第1页,第2页,第3页。第4页。我使用推模式异步进行导航。当我点击按钮时,第4页中的使用下面的代码,它正在导航到page2。
foreach (var page in Navigation.ModalStack)
{
if (page is Page3)
{
await PopModalPage();
}
}
foreach (var page in Navigation.ModalStack)
{
if (page is Page4)
{
await PopModalPage();
}
}
要从第4页导航到第2页,我正在使用此代码除了此以外的任何优化方式?请进行指导。
答案 0 :(得分:0)
解决方案:
在您的第4页中,将以下代码添加到模式弹出页面中:
private void Button_Clicked(object sender, EventArgs e)
{
gobackAsync();
}
public async void gobackAsync() {
int totalModals = Application.Current.MainPage.Navigation.ModalStack.Count;
//i set currModal = 1 here to back to page 2, If you wan to go back to 3, you can set currModal = 2, etc...
// remember to add flase in PopModalAsync to aviod the animation.
for (int currModal = 1; currModal < totalModals; currModal++)
{
await Application.Current.MainPage.Navigation.PopModalAsync(false);
}
}
我在那里将currModal = 1设置为返回第2页,如果要返回到3,则可以将currModal = 2设置为此类,等等...
请记住在PopModalAsync
中添加 flase 来动画。