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

标签 wpf navigationservice

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

最佳答案

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

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

关于wpf - 如何清除 WPF Frame 控件托管的整个导航历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585519/

相关文章:

wpf - 在 XAML 中声明类型列表

xaml - 导航到新页面失败 : Automatically returns to previous page on Windows Phone 8

windows-phone-7 - 未经授权的访问异常未处理

windows-phone-7 - 在NavigationService中清除后退堆栈

c# - 什么决定了 NavigationCommands.BrowseBack 是否调用页面构造函数?

wpf - 在 WPF 文本框中保留换行符时忽略

c# - 如何在 XAML 中定义对现有对象的引用?

c# - NavigationService.导航错误

wpf - 如何扩展而不是覆盖WPF样式

c# - 如何设置<Linebreak/>的高度