在Xamarin Forms中,点击后退箭头向后导航一页失败。

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

我已经尝试过使用Prism以及Xamarin Forms内置的导航。

我有PageA和PageB(都使用MVVM)。在我的应用程序启动期间(App.xaml.cs),我导航到PageA。在PageA的初始化过程中,我遇到了一个错误,我想把App发送到PageB,所以在PageA中我执行导航到PageB。

一旦我到达PageB,我有显示的后退箭头来导航返回,但点击它从来没有把我送回前一个页面(PageA)。我如何实现这一点?

先谢谢你。

编辑:添加了以下代码(基于棱镜

App.Xaml.cs:

public App(IPlatformInitializer initializer = null):base(initializer)
    {
        NavigationService.NavigateAsync("NavigationPage/PageA");
    }

PageAVM。

public PageAVM(INavigationService navigationService)
    {
        _navigationService = navigationService;
    }

public async void OnAppearing()
    {
        // Perform some actions and if there is an error navigate to PageB
        await _navigationService.NavigateAsync("PageB");            
    }

我的期望是,我被导航到了PageB,有后退按钮可用,并且能够按下它来回到PageA。

实际情况是,按下后退按钮或硬件后退按钮并不能将我带回PageA。

如果我将导航移到PageA的构造函数中,我就能够返回导航,但PageA上的任何工具栏项都会保留在PageB上。

android xamarin.forms prism
1个回答
0
投票

你需要使用命名空间来改变根。

>

await NavigationService.NavigateAsync("{Namespace}:///PageB");
© www.soinside.com 2019 - 2024. All rights reserved.