public void SynchronizeAppBar() { IEnumerable <FormsPage> childrens = this.FindVisualChildren <FormsPage>(); CurrentTitle = childrens.FirstOrDefault()?.GetTitle(); HasNavigationBar = childrens.FirstOrDefault()?.GetHasNavigationBar() ?? false; CurrentNavigationPage = childrens.OfType <FormsNavigationPage>()?.FirstOrDefault(); CurrentMasterDetailPage = childrens.OfType <FormsMasterDetailPage>()?.FirstOrDefault(); var page = childrens.FirstOrDefault(); if (page != null) { TitleBarBackgroundColor = page.GetTitleBarBackgroundColor(); TitleBarTextColor = page.GetTitleBarTextColor(); } else { ClearValue(TitleBarBackgroundColorProperty); ClearValue(TitleBarTextColorProperty); } hamburgerButton.Visibility = CurrentMasterDetailPage != null ? Visibility.Visible : Visibility.Collapsed; if (CurrentNavigationPage != null) { HasBackButton = CurrentNavigationPage.GetHasBackButton(); BackButtonTitle = CurrentNavigationPage.GetBackButtonTitle(); } else { HasBackButton = false; BackButtonTitle = ""; } }
private void PreviousButton_Click(object sender, RoutedEventArgs e) { if (CurrentNavigationPage != null && CurrentNavigationPage.StackDepth > 1) { CurrentNavigationPage.OnBackButtonPressed(); } }
private async Task InternalNavigateToAsync(Type viewModelType, object parameter) { if (CurrentNavigationPage == null) { CurrentNavigationPage = Application.Current.MainPage as CustomNavigationView; } Page page = CreatePage(viewModelType, parameter); if (CurrentNavigationPage != null) { await CurrentNavigationPage.PushAsync(page); } else { Application.Current.MainPage = new CustomNavigationView(page); } await(page.BindingContext as BaseViewModel).InitializeAsync(parameter); }
public async Task GoBack() { var navigationStack = CurrentNavigationPage.Navigation; if (navigationStack.NavigationStack.Count > 1) { await CurrentNavigationPage.PopAsync(); return; } if (_navigationPageStack.Count > 1) { _navigationPageStack.Pop(); await CurrentNavigationPage.Navigation.PopModalAsync(); return; } await CurrentNavigationPage.PopAsync(); }
internal async void SendHomeClicked() { if (UpButtonShouldNavigate()) { if (NavAnimationInProgress) { return; } NavAnimationInProgress = true; await CurrentNavigationPage.PopAsync(); NavAnimationInProgress = false; } else if (CurrentMasterDetailPage != null) { if (MasterDetailPageController.ShouldShowSplitMode && CurrentMasterDetailPage.IsPresented) { return; } CurrentMasterDetailPage.IsPresented = !CurrentMasterDetailPage.IsPresented; } }
public async Task PopAsync(bool animated) { var navigationStack = CurrentNavigationPage.Navigation; if (navigationStack.NavigationStack.Count > 1) { if (goback) { goback = false; await CurrentNavigationPage.PopAsync(); Device.StartTimer(new TimeSpan(0, 0, 2), () => { goback = true; return(false); }); } else { return; } } }
public async Task <string> DisplayAlertController(string[] values = null) { string selectionResult = await CurrentNavigationPage.DisplayActionSheet(null, "Cancelar", null, values); return(selectionResult); }
public async Task GoBackAsync() { await CurrentNavigationPage.PopAsync(); }