public async Task GoBack() { if (CanGoBack) { await NavigationInstance.PopAsync(animated : true); } onCanGoBackChanged(); }
public Task RemoveLastView() { if (NavigationInstance.NavigationStack.Any()) { var lastView = NavigationInstance.NavigationStack.Last(); NavigationInstance.RemovePage(lastView); } return(Task.FromResult(0)); }
public Task ClearBackStack() { if (NavigationInstance.NavigationStack.Count <= 1) { return(Task.FromResult(0)); } for (var i = 0; i < NavigationInstance.NavigationStack.Count - 1; i++) { NavigationInstance.RemovePage(NavigationInstance.NavigationStack[i]); } return(Task.FromResult(0)); }
private async Task navigateToView(Type viewModelType) { Type viewType; if (!_map.TryGetValue(viewModelType, out viewType)) { throw new ArgumentException($"No view found in View Mapping for '{nameof(viewModelType)}'"); } var constructor = viewType.GetTypeInfo().DeclaredConstructors.FirstOrDefault(dc => dc.GetParameters().Count() <= 0); var view = constructor.Invoke(null) as Page; var vm = ((App)Application.Current).Kernel.GetService(viewModelType); view.BindingContext = vm; await NavigationInstance.PushAsync(view, animated : true); }