/// <summary> /// Called when the Activity has detected the user's press of the back key /// </summary> public static async void OnBackPressed() { await semaphore.WaitAsync(); try { var container = ContainerLocator.Container; var popupNavigation = container.Resolve <IPopupNavigation>(); var appProvider = container.Resolve <IApplicationProvider>(); var topPage = PopupUtilities.TopPage(popupNavigation, appProvider); var navService = container.Resolve <INavigationService>(PrismApplicationBase.NavigationServiceName); if (navService is IPageAware pa) { pa.Page = topPage; } var parameters = new NavigationParameters(); parameters.AddInternalParameter("_NavigationSource", "BackButton"); await navService.GoBackAsync(parameters); } finally { semaphore.Release(); } }
public static void HandleSystemGoBack(Page previousPage, Page currentPage) { var parameters = new NavigationParameters(); parameters.AddInternalParameter(KnownInternalParameters.NavigationMode, NavigationMode.Back); OnNavigatedFrom(previousPage, parameters); OnNavigatedTo(GetOnNavigatedToTargetFromChild(currentPage), parameters); DestroyPage(previousPage); }
public static NavigationParameters AddNavigationMode(this NavigationParameters parameters, NavigationMode mode) { parameters.AddInternalParameter(NavigationModeKey, mode); return(parameters); }