Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to clear whole navigation history hosted by the WPF Frame control

In a WPF application the Frame control is used to host/navigate pages. I'd like to clear the navigation history. There is NavigationService.RemoveBackEntry() method which can be used to clear the backward portion of the history. But what about the forward navigation history? How to clear this part? What is the best practice? Thank you in advance.

like image 807
Alex Martianov Avatar asked Dec 21 '11 05:12

Alex Martianov


1 Answers

Here's the code I used to clear a Frame's navigation history:

 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 });
}
like image 53
Flatliner DOA Avatar answered Sep 24 '22 18:09

Flatliner DOA