Prism TabbedPage:无法导航回上一页

Prism TabbedPage: Navigation back to a previous page does not work

我有以下页面结构

这是主页的xaml

<TabbedPage.Children>
  <NavigationPage Title="TabPage 1" IconImageSource="icon_about">
    <x:Arguments>
      <views:TabPage1/>
    </x:Arguments>
  </NavigationPage>
  <NavigationPage Title="TabPage 2" IconImageSource="icon_feed">
    <x:Arguments>
      <views:TabPage2/>
    </x:Arguments>
  </NavigationPage>
</TabbedPage.Children>

在 TabPage1 中,我们可以导航到另一个页面 ContentPage1_1。这就是视图模型的代码

public DelegateCommand NavigateForwardCommand { get; set; }

public TabPage1ViewModel(INavigationService navigationService)
{
  NavigateForwardCommand = new DelegateCommand(async () =>
  {
    await navigationService.NavigateAsync($"{nameof(NavigationPage)}/{nameof(ContentPage1_1)}");
  });
}

That navigation works

在 ContentPage1_1 中,我尝试导航回 TabPage1。我所有的尝试都失败了。

那是我试过的。

public DelegateCommand NavigateBackwardCommand { get; set; }

public ContentPage1_1ViewModel(INavigationService navigationService)
{
  NavigateBackwardCommand = new DelegateCommand(async () =>
  {
    //await navigationService.NavigateAsync($"{nameof(ContentPage1_1)}");
    //await navigationService.NavigateAsync($"/../{nameof(TabPage1)}");
    //await navigationService.NavigateAsync($"/{nameof(MainPage)}/{nameof(NavigationPage)}/{nameof(TabPage1)}");
    //await navigationService.GoBackAsync();
    //await navigationService.GoBackToRootAsync();

  });
}

GoBackAsync 不执行任何操作。所有其他人都失去了选项卡或正确的导航栏。

The arrow navigation in the navigationbar works!

如何在我的选项卡中导航回上一页?

有效。在 TabPage ViewModel 中,我将导航更改为

public DelegateCommand NavigateForwardCommand { get; set; }
    
public TabPage1ViewModel(INavigationService navigationService)
{
  NavigateForwardCommand = new DelegateCommand(async () =>
  {
    await navigationService.NavigateAsync($"{nameof(ContentPage1_1)}");
  });
}

并删除了

NavigationPage.HasNavigationBar="False"

来自 ContentPage1_1.xaml 的属性。

就这些了。