/// <summary> /// Remove the all pages of the backstack with optional pageToken and parameter /// </summary> /// <param name="pageToken"></param> /// <param name="parameter"></param> public void RemoveAllPages(string pageToken = null, object parameter = null) { if (pageToken != null) { IEnumerable <PageStackEntry> pages; var pageType = _navigationResolver(pageToken); if (parameter != null) { pages = _frame.BackStack.Where(x => x.SourcePageType == pageType && x.Parameter.Equals(parameter)); } else { pages = _frame.BackStack.Where(x => x.SourcePageType == pageType); } foreach (var page in pages) { _frame.RemoveBackStackEntry(page); } } else { _frame.ClearBackStack(); } }
/// <summary> /// Clears the navigation history. /// </summary> public void ClearHistory() { _frame.ClearBackStack(); }