在WPF应用程序中,Frame控件用于托管/导航页面。我想清除导航历史记录。有NavigationService.RemoveBackEntry()方法,可用于清除历史记录的后退部分。但是前进导航历史呢?如何清除这部分?什么是最佳做法?提前谢谢。
答案 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)
我没试过, 但您可以尝试导航到同一页面而不是删除后页...