Ejemplo n.º 1
0
        private async Task <NavigationResult> HandleViewModelNavigation(INavigationAware fromPageVM, INavigationAware toPageVM, INavigationParameters parameters)
        {
            if (fromPageVM != null)
            {
                try
                {
                    fromPageVM.OnNavigatedFrom(parameters);
                }
                catch (Exception ex)
                {
                    return(new NavigationResult()
                    {
                        IsSuccess = false, Exception = ex
                    });
                }
            }


            if (toPageVM != null)
            {
                try
                {
                    toPageVM.OnNavigatingTo(parameters);
                    toPageVM.OnNavigatedTo(parameters);
                    await toPageVM.OnNavigatedToAsync(parameters);
                }
                catch (Exception ex)
                {
                    return(new NavigationResult()
                    {
                        IsSuccess = false, Exception = ex
                    });
                }
            }

            return(new NavigationResult()
            {
                IsSuccess = true
            });
        }