2017-01-25 3 views
0

Я хотел бы очистить всю историю навигации (включая предыдущую страницу), когда я перехожу к определенной странице. Поэтому я пишу следующий код в OnNavigated методе этого конкретного типа страницы.NavigationService.ClearHistory или ClearCache не очищает предыдущую страницу из кеша

Shell.HamburgerMenu.NavigationService.ClearCache(); 
Shell.HamburgerMenu.NavigationService.ClearHistory(); 
this.Frame.BackStack.Clear(); 
BootStrapper.Current.NavigationService.ClearCache(); 
BootStrapper.Current.NavigationService.ClearHistory(); 

выше метод, очищающий всю историю навигации, за исключением предыдущей посещенной страницы из кеша.

Нам нужно очистить предыдущую посещенную страницу вместе с другими страницами.

Пожалуйста, сообщите нам, как решить эту проблему.

ответ

1
var currentFrame = this.GetRootFrame(); 
if (currentFrame != null && currentFrame.CanGoBack) 
    currentFrame.BackStack.RemoveAt(currentFrame.BackStackDepth); 
0

Я не уверен, почему вы звоните Shell.HamburgerMenu.NavigationService.ClearCache() / ClearHistory(). Вы просто не знаете, когда что вся строка кода может измениться, и вы остались бы, чтобы вернуться назад позже, чтобы изменить его.

Наследование INavigable или ViewModelBase из папки MVVM будет иметь переопределение можно назвать

//NavigationService comes from ViewModelBase.... Template10.Mvvm namespace 
if(NavigationService.CanGoBack) 
    NavigationService.ClearHistory(); 

NavigationService инициализируется при запуске приложения.

Я использую вышеуказанные 2 строки кода именно для того, что вы просите, он работает так, как ожидалось. Он не позволяет пользователю в моем случае вернуться назад к нормальному экрану с экрана входа в систему

что касается стороны кеша уравнения, отключите кеш на каждой странице. В настоящее время я не считаю, что у нас есть глобальное для этого в T10, или если там всегда будет один.

Код предыдущий ответ Размещенное более или менее точный код, который находится в ClearHistory()/ClearCache() methods

нотабене ClearCache теперь устарел в текущей ветке кода, на NavigationService для T10

Смежные вопросы