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

8
在WPF应用程序中,Frame控件用于托管/导航页面。我想清除导航历史记录。有一个NavigationService.RemoveBackEntry()方法可以用来清除后向部分的历史记录。但是前向导航历史记录呢?如何清除这一部分?最佳实践是什么?谢谢您的帮助。
2个回答

13

这是我用来清除框架导航历史记录的代码:

 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 });
}

请注意,这会清除所有内容,但接下来您需要导航到某个地方,因为这会让您处于无人区。 - Scott Stafford

-1

我没有尝试过, 但你可以尝试导航到相同的页面,然后删除后退页面...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接