如何弹出然后立即推送 xamarin 页面

我当前的导航堆栈有两个页面。第一个是页面 A,第二个是页面 B。当我点击我的按钮时,它会在导航堆栈中添加一个新页面,页面 C。

请问如何显示页面C并删除页面B,或者删除页面B并显示页面C。

我试过以下

await Navigation.PopAsync()
await Navigation.PushAsync(new CustomPage())

我遇到的问题是页面成功弹出,但新页面不可见。我立即看到页面 A。请问如何弹出当前页面并立即显示另一个页面。


犯罪嫌疑人X
浏览 103回答 2
2回答

DIEA

而不是弹出页面然后尝试推送新页面。我会推送您的新页面,然后从NavigationStack.var previousPage = Navigation.NavigationStack.LastOrDefault();await Navigation.PushAsync(new CustomPage());Navigation.RemovePage(previousPage);

郎朗坤

您还可以从下一页的 OnAppearing 方法中从 NavigationStack 中删除每个页面。在此示例中,第一页...protected override void OnAppearing()    {        // Remove LoginPage from NavigationStack        if (Navigation.NavigationStack.Count > 1)        {            Page page = Navigation.NavigationStack.First();            if (page != null && page != this)            {                Navigation.RemovePage(page);            }        }        base.OnAppearing();    }
打开App,查看更多内容
随时随地看视频慕课网APP