Xaml Xamarin表单中的导航问题

Xaml Xamarin表单中的导航问题,xaml,xamarin,xamarin.forms,xamarin.android,xamarin.ios,Xaml,Xamarin,Xamarin.forms,Xamarin.android,Xamarin.ios,我需要路由页面A->B->C->D,一旦进入D,我需要使用导航按钮返回到页面D->A。我正在尝试在Xamarin表单中实现这个场景IOS和Android 请帮助您的案例使用Navigation.PopToRootAsync Navigation.PopToRootAsync;此方法从导航堆栈中弹出除根页面以外的所有页面,从而使应用程序的根页面成为活动页面 Navigation.popsync;这将导致Page2Xaml实例从导航堆栈中删除,最上面的新页面将成为活动页面 下面的文档很好地解释了Xa

我需要路由页面A->B->C->D,一旦进入D,我需要使用导航按钮返回到页面D->A。我正在尝试在Xamarin表单中实现这个场景IOS和Android

请帮助您的案例使用Navigation.PopToRootAsync

Navigation.PopToRootAsync;此方法从导航堆栈中弹出除根页面以外的所有页面,从而使应用程序的根页面成为活动页面

Navigation.popsync;这将导致Page2Xaml实例从导航堆栈中删除,最上面的新页面将成为活动页面

下面的文档很好地解释了Xamarin.Forms导航。 您的案例使用Navigation.PopToRootAsync

Navigation.PopToRootAsync;此方法从导航堆栈中弹出除根页面以外的所有页面,从而使应用程序的根页面成为活动页面

Navigation.popsync;这将导致Page2Xaml实例从导航堆栈中删除,最上面的新页面将成为活动页面

下面的文档很好地解释了Xamarin.Forms导航。

在D页面内覆盖OnBackButtonPressed,在函数内通过不再需要的页面迭代并逐个删除它们

伪代码:

    protected override bool OnBackButtonPressed()
    {
        foreach (var page in Navigation.NavigationStack)
        {

            //find the pages you want to remove
            Navigation.RemovePage(PageYouFound);
        }
        //Set new page
        return base.OnBackButtonPressed();

    }

在D页面中覆盖OnBackButtonPressed,在函数中遍历不再需要的页面并逐个删除它们

伪代码:

    protected override bool OnBackButtonPressed()
    {
        foreach (var page in Navigation.NavigationStack)
        {

            //find the pages you want to remove
            Navigation.RemovePage(PageYouFound);
        }
        //Set new page
        return base.OnBackButtonPressed();

    }

您可以删除OnBackButtonPressed事件并使用Navigation.PopToRootAsync

protected override bool OnBackButtonPressed()
    {
        Navigation.PopToRootAsync();
        return base.OnBackButtonPressed();

    }

您可以删除OnBackButtonPressed事件并使用Navigation.PopToRootAsync

protected override bool OnBackButtonPressed()
    {
        Navigation.PopToRootAsync();
        return base.OnBackButtonPressed();

    }

您可以使用RemovePage方法删除页面,也可以调用PopToRootAsync方法弹出到根页面!这回答了你的问题吗?请尝试使用此代码保护的override bool OnBackButtonPressed{Navigation.PopToRootAsync;return true;}这是一个关于实现Xamarin.Forms导航服务的有用博客。您可以使用RemovePage方法删除页面,也可以调用PopToRootAsync方法弹出到根页面!这回答了你的问题吗?请尝试使用此代码保护的override bool OnBackButtonPressed{Navigation.PopToRootAsync;return true;}这是一个关于实现Xamarin.Forms导航服务的有用博客。