protected virtual async Task <bool> PopModalToViewModel(INavigation navigation, MvxPopPresentationHint popHint) { // Need to check the modal stack first while (navigation.ModalStack.Any()) { var modalPage = navigation.ModalStack.Last(); if (modalPage.IsViewModelTypeOf(popHint.ViewModelToPopTo)) { return(true); } var modalNavPage = GetPageOfType <NavigationPage>(modalPage); if (modalNavPage != null) { var matched = await PopToViewModel(modalNavPage.Navigation, popHint.ViewModelToPopTo, popHint.Animated); if (matched) { return(true); } } await navigation.PopModalAsync(); } return(false); }
protected void PopToPage <TViewModel>() where TViewModel : MvxViewModel { var hint = new MvxPopPresentationHint(typeof(TViewModel)); this.NavigationService.ChangePresentation(hint); }