如何从 Prism Navigation Journal 中删除单一视图

How to remove single view from Prism Navigation Journal

我在 WPF 应用程序上使用 Prism 导航(版本 6.3.0),

我有 3 个视图:ViewAViewBViewC, 从 ViewA 导航到 ViewC 并经过 ViewB 后,我想从 Navigation Journal 中删除 ViewB,调用 GoBack 方法并直接导航到 ViewA

第一个导航

ViewA -> ViewB -> ViewC

二次导航(返回)

ViewC -> ViewA

我尝试通过以下方式实现方法 OnNavigatedFrom,但它不起作用:

public override void OnNavigatedFrom(NavigationContext navigationContext)
{
    this.NavigationJournal.Clear();
    var viewAEntry = new RegionNavigationJournalEntry() { Uri = new Uri(ContractNames.Medics, UriKind.Relative) };
    this.NavigationJournal.RecordNavigation(viewAEntry);
    base.OnNavigatedFrom(navigationContext);
}

我还检查了 Github ( 30 and 384 ) 上报告的问题 但似乎没有解决办法。

如有任何帮助,我们将不胜感激。

这还没有内置到框架中,但如果您按照此评论中的说明进行操作,您应该能够实施解决方案。

https://github.com/PrismLibrary/Prism/issues/30#issuecomment-227491454

https://github.com/PrismLibrary/Prism/issues/30#issuecomment-227679365

这应该会让你朝着正确的方向前进。