public async Task PushModalAsync <TViewModel>() where TViewModel : CoffeeShopBaseViewModel { Page page = CreatePage(typeof(TViewModel), null); //Put in NavigationPage to use title bar var nv = new NavigationPage(page); await FormsNavigation.PushModalAsync(nv); }
/// <inheritdoc /> public async Task PushModalAsync(BaseNavigationViewModel viewModel) { viewModel.IsModal = true; var view = InstantiateView(viewModel); var nv = new NavigationPage((Page)view); await FormsNavigation.PushModalAsync(nv); }
public async Task PushModalAsync(Type pageModelType) { var page = InstantiatePage(pageModelType, new NavigationState(Modal)); await FormsNavigation.PushModalAsync((Page)page, false); PrintModalStackDepth("PushModalAsync"); }
public async Task PushModalAsync <T>(T viewModel) where T : class, IViewModel { var view = InstantiateView(viewModel); // Most likely we're going to want to put this into a navigation page so we can have a title bar on it var nv = new NavigationPage((Page)view); await FormsNavigation.PushModalAsync(nv); }
public async Task PushModalAsync <TViewModel>(object parameter) where TViewModel : CoffeeShopBaseViewModel { Page page = CreatePage(typeof(TViewModel), parameter); await(page.BindingContext as CoffeeShopBaseViewModel).InitializeAsync(parameter); //Put in NavigationPage to use title bar var nv = new NavigationPage(page); await FormsNavigation.PushModalAsync(nv); }
public Task PushModalAsync(BaseNavigationViewModel viewModel) { viewModel.Display = ViewModelDisplay.Modal; var view = InstantiateView(viewModel); // Most likely we're going to want to put this into a navigation page so we can have a title bar on it var nv = new NavigationPage((Page)view); return(FormsNavigation.PushModalAsync(nv)); }
public async Task PushModalAsync(Type viewModelType) { var viewModel = this._viewModelViewDictionary.FirstOrDefault(vm => vm.Key.GetType() == viewModelType).Key; this.InitCurrentViewModel(false); var view = this.GetAssociatedView(viewModel); // Most likely we're going to want to put this into a navigation page so we can have a title bar on it var nv = new NavigationPage((Page)view); await FormsNavigation.PushModalAsync(nv); this.InitCurrentViewModel(true); }
public Task PushModalAsync(BaseViewModel viewModel, bool nestedNavigation = false) { var view = InstantiateView(viewModel); Page page; if (nestedNavigation) { page = new NavigationPage((Page)view); } else { page = (Page)view; } return(FormsNavigation.PushModalAsync(page)); }
public async Task PushModalAsync(NavigationViewModel viewModel, bool animate = false) { try { var oldViewModel = (NavigationViewModel)NavigationPage?.CurrentPage.BindingContext; var view = InstantiateView(viewModel); // Most likely we're going to want to put this into a navigation page so we can have a title bar on it var nv = new NavigationPage((Page)view); await FormsNavigation.PushModalAsync(nv, animate); oldViewModel?.OnHidden(); } catch { // ignored as non critical exceptions don't stop the app from working } }
public Task PushModalAsync(BaseViewModel viewModel, bool nestedNavigation = false, bool animated = true) { viewModel.ViewDisplay = ViewDisplayType.Modal; var view = InstantiateView(viewModel); Page page; if (nestedNavigation) { page = new NavigationPage((Page)view); } else { page = (Page)view; } return(FormsNavigation.PushModalAsync(page, animated)); }
/// <inheritdoc /> public async Task PushModalAsync(BaseNavigationViewModel viewModel) { viewModel.IsModal = true; var currentPage = FormsNavigation.NavigationStack.LastOrDefault(); if (currentPage.BindingContext is INavigationAware navPrevious) { navPrevious.OnNavigatingFrom(); } if (viewModel is INavigationAware navForward) { navForward.OnNavigatingTo(); } var view = InstantiateView(viewModel); var nv = new NavigationPage((Page)view); await FormsNavigation.PushModalAsync(nv); }