Beispiel #1
0
 public async Task GoBack()
 {
     if (CanGoBack)
     {
         await NavigationInstance.PopAsync(animated : true);
     }
     onCanGoBackChanged();
 }
Beispiel #2
0
 public Task RemoveLastView()
 {
     if (NavigationInstance.NavigationStack.Any())
     {
         var lastView = NavigationInstance.NavigationStack.Last();
         NavigationInstance.RemovePage(lastView);
     }
     return(Task.FromResult(0));
 }
Beispiel #3
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));
 }
Beispiel #4
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);
        }