如何清除WPF Frame控件托管的整个导航历史记录

Ale*_*nov 4 wpf navigationservice

在WPF应用程序中,Frame控件用于托管/导航页面.我想清除导航历史记录.有NavigationService.RemoveBackEntry()方法,可用于清除历史记录的后退部分.但是前进导航历史呢?如何清除这部分?什么是最佳做法?先感谢您.

Fla*_*DOA 10

这是我用来清除Frame的导航历史的代码:

 public void ClearHistory()
 {
     if (!this.Frame.CanGoBack && !this.Frame.CanGoForward)
     {
         return;
     }

     var entry = this.Frame.RemoveBackEntry();
     while (entry != null)
     {
          entry = this.Frame.RemoveBackEntry();
     }

     this.Frame.Navigate(new PageFunction<string>() { RemoveFromJournal = true });
}
Run Code Online (Sandbox Code Playgroud)


Eya*_*and -1

我没有尝试过,但您可以尝试导航到同一页面,然后删除后台...