Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Prism导航日志中删除单个视图_C#_Wpf_Prism - Fatal编程技术网

C# 如何从Prism导航日志中删除单个视图

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

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

我有三个视图:ViewAViewBViewC, 在通过ViewB从ViewA导航到ViewC之后,我想从导航日志中删除ViewB,调用GoBack方法并直接导航到ViewA

首次航行 ViewA->ViewB->ViewC

第二次导航(GoBack) 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上报告的问题(和) 但似乎没有解决办法


任何帮助都将不胜感激

这还没有内置到框架中,但是如果您按照本文中的说明操作,您应该能够实现一个解决方案


这应该会让你走上正确的方向。

谢谢@Brian,我尝试应用建议的解决方案,如果我们将MyRegionNavigationService的构造函数参数更改为IMyRegionNavigationJournal,则意味着将具有或使用类型为IRegionNavigationJournal的此类的所有属性更改为IMyRegionNavigationJournal,这与具有IRegionNavigationJournal所有属性的IRegionNavigationService的实现不匹配。我不知道使用IMyRegionNavigationJournal创建自定义IMyRegionNavigationService接口是否可以解决问题?或者会影响未修改的Prism类中的其他用法?您不会更改任何ctor定义。您只需使用容器的Prism接口注册您的具体类<代码>容器.注册表类型(生成单例)