Как очистить всю историю навигации, размещенную в элементе управления WPF Frame - PullRequest
4 голосов
/ 21 декабря 2011

В приложении WPF элемент управления Frame используется для размещения / навигации по страницам. Я хотел бы очистить историю навигации. Существует метод NavigationService.RemoveBackEntry (), который можно использовать для очистки обратной части истории. Но как насчет истории навигации вперед? Как очистить эту часть? Какова лучшая практика? Заранее спасибо.

Ответы [ 2 ]

10 голосов
/ 14 мая 2012

Вот код, который я использовал для очистки истории навигации Фрейма:

 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 });
}
0 голосов
/ 01 мая 2012

Я не пробовал, Но вы можете попробовать перейти на ту же страницу, а затем удалить заднюю страницу ...

...