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

时间:2011-12-21 05:38:14

标签: wpf navigationservice

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

2 个答案:

答案 0 :(得分:9)

以下是我用来清除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 });
}

答案 1 :(得分:-1)

我没试过, 但您可以尝试导航到同一页面而不是删除后页...