C# 如何从Prism导航日志中删除单个视图
我正在WPF应用程序上使用Prism导航(版本6.3.0) 我有三个视图:ViewA、ViewB和ViewC, 在通过ViewB从ViewA导航到ViewC之后,我想从导航日志中删除ViewB,调用GoBack方法并直接导航到ViewA 首次航行 ViewA->ViewB->ViewC 第二次导航(GoBack) ViewC->ViewA 我尝试以以下方式实现方法C# 如何从Prism导航日志中删除单个视图,c#,wpf,prism,C#,Wpf,Prism,我正在WPF应用程序上使用Prism导航(版本6.3.0) 我有三个视图:ViewA、ViewB和ViewC, 在通过ViewB从ViewA导航到ViewC之后,我想从导航日志中删除ViewB,调用GoBack方法并直接导航到ViewA 首次航行 ViewA->ViewB->ViewC 第二次导航(GoBack) ViewC->ViewA 我尝试以以下方式实现方法OnNavigatedFrom,但不起作用: public override void OnNavigatedFrom(Navigat
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上报告的问题(和)
但似乎没有解决办法
任何帮助都将不胜感激 这还没有内置到框架中,但是如果您按照本文中的说明操作,您应该能够实现一个解决方案 及
这应该会让你走上正确的方向。谢谢@Brian,我尝试应用建议的解决方案,如果我们将MyRegionNavigationService的构造函数参数更改为IMyRegionNavigationJournal,则意味着将具有或使用类型为IRegionNavigationJournal的此类的所有属性更改为IMyRegionNavigationJournal,这与具有IRegionNavigationJournal所有属性的IRegionNavigationService的实现不匹配。我不知道使用IMyRegionNavigationJournal创建自定义IMyRegionNavigationService接口是否可以解决问题?或者会影响未修改的Prism类中的其他用法?您不会更改任何ctor定义。您只需使用容器的Prism接口注册您的具体类<代码>容器.注册表类型(生成单例)