В приложении WPF элемент управления Frame используется для размещения/навигации по страницам. Я хотел бы очистить историю навигации. Существует метод NavigationService.RemoveBackEntry(), который можно использовать для очистки обратной части истории. Но как насчет истории навигации вперед? Как очистить эту часть? Какова наилучшая практика? Заранее спасибо.
Как очистить всю историю навигации, размещенную элементом управления WPF Frame
Ответы (2)
Вот код, который я использовал для очистки истории навигации 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 });
}
person
Flatliner DOA
schedule
14.05.2012
Обратите внимание, что это очищает все, но тогда вам нужно куда-то перемещаться, так как это оставляет вас в никуда.
- person Scott Stafford; 01.04.2015
Я не пробовал, но вы можете попробовать перейти на ту же страницу, а затем удалить заднюю страницу...
person
Eyal Wurmbrand
schedule
01.05.2012