Exemplo n.º 1
0
 private void ClearNavigationStackIfNeed(IDataContext context, Page page, Task task)
 {
     var navigation = _rootPage.Navigation;
     if (navigation == null || context == null || !context.GetData(NavigationConstants.ClearBackStack))
         return;
     task.TryExecuteSynchronously(t =>
     {
         var pages = navigation.NavigationStack.ToList();
         for (int i = 0; i < pages.Count; i++)
         {
             var toRemove = pages[i];
             if (toRemove != page)
                 navigation.RemovePage(toRemove);
         }
     });
     context.AddOrUpdate(NavigationProvider.ClearNavigationCache, true);
 }