Пример #1
0
        public async Task NavedToAsync(object viewmodel, NavigationMode mode, Page sourcePage, Type sourceType, object sourceParameter, Page targetPage, Type targetType, object targetParameter)
        {
            Services.NavigationService.NavigationService.DebugWrite();

            if (targetPage == null)
            {
                throw new ArgumentNullException(nameof(targetPage));
            }

            if (mode == NavigationMode.New)
            {
                PageState(targetPage).Clear();
            }

            if (viewmodel == null)
            {
                return;
            }
            else if (viewmodel is Classic.INavigatedAwareAsync)
            {
                var vm = viewmodel as Classic.INavigatedAwareAsync;
                await vm?.OnNavigatedToAsync(targetParameter, mode, PageState(targetPage));
            }
            else if (viewmodel is Portable.INavigatedAware)
            {
                var parameters = new Portable.NavigationParameters();
                parameters.Add("NavigationMode", mode.ToPrismNavigationMode());
                parameters.Add("SourceType", sourceType);
                parameters.Add("SourceParameter", sourceParameter);
                parameters.Add("TargetType", targetType);
                parameters.Add("TargetParameter", targetParameter);
                var vm = viewmodel as Portable.INavigatedAware;
                vm?.OnNavigatedTo(parameters);
            }
            else if (viewmodel is Portable.INavigatedAwareAsync)
            {
                var parameters = new Portable.NavigationParameters();
                parameters.Add("NavigationMode", mode.ToPrismNavigationMode());
                parameters.Add("SourceType", sourceType);
                parameters.Add("SourceParameter", sourceParameter);
                parameters.Add("TargetType", targetType);
                parameters.Add("TargetParameter", targetParameter);
                var vm = viewmodel as Portable.INavigatedAwareAsync;
                await vm?.OnNavigatedToAsync(parameters);
            }

            targetPage.InitializeBindings();
            targetPage.UpdateBindings();
        }
Пример #2
0
        private async Task infoUserCommand()
        {
            var navParameters = new Prism.Navigation.NavigationParameters();

            navParameters.Add("UserName", UserName);

            await _navigationService.NavigateAsync($"/CustomMasterDetailPage/NavigationPage/InfoOfUserMyView", navParameters);
        }
Пример #3
0
        private void MyClickButton()
        {
            var par = new Prism.Navigation.NavigationParameters();

            par.Add("hell", 4);

            _navigationService.NavigateAsync("SecondPage", par);
            //pageDialogService.DisplayActionSheetAsync("hello", "hi", "ok");
        }
Пример #4
0
        private async Task onlogin()
        {
            var navParameters = new Prism.Navigation.NavigationParameters();

            navParameters.Add("UserName", UserName);

            await _navigationService.NavigateAsync(
                $"/CustomMasterDetailPage/NavigationPage/MainPageView",
                navParameters
                );
        }
        public void OnNavigatedTo_ShouldCallContainsFromShoppingCartService()
        {
            INavigationParameters navigationParameters = new Prism.Navigation.NavigationParameters();
            Dog dog = _dogList[0];

            navigationParameters.Add("selectedDogData", dog);

            _dogDetailViewModel.OnNavigatedTo(navigationParameters);

            _mockShoppingCartService.Verify(x => x.Contains(It.IsAny <int>()), Times.Once());
            _mockShoppingCartService.VerifyNoOtherCalls();
        }
Пример #6
0
        private async void Navega()
        {
            if (Selection != null)
            {
                // await PageDialogService.DisplayAlertAsync("app", Selection.nome, "Ok");
                var navigationParams = new Prism.Navigation.NavigationParameters();
                navigationParams.Add("paciente", Selection);
                //var mainPage = $"{nameof(NavigationPage)}/{nameof(Exames)}";

                await NavigationService.NavigateAsync("Exames", navigationParams);

                Selection = null;
            }
        }
        public void OnNavigatedTo_SelectedDogInformations_ShouldBeDisplayed()
        {
            INavigationParameters navigationParameters = new Prism.Navigation.NavigationParameters();
            Dog dog = _dogList[0];

            navigationParameters.Add("selectedDogData", dog);

            _dogDetailViewModel.OnNavigatedTo(navigationParameters);

            _dogDetailViewModel.SelectedDog.Should().BeEquivalentTo(dog);
            _dogDetailViewModel.SelectedDog.Description.Should().BeEquivalentTo(dog.Description);
            _dogDetailViewModel.SelectedDog.Price.Should().Be(dog.Price);
            _dogDetailViewModel.SelectedDog.Race.Should().BeEquivalentTo(dog.Race);
            _dogDetailViewModel.SelectedDog.Sex.Should().BeEquivalentTo(dog.Sex);
        }
Пример #8
0
        public async Task <bool> NavingFromCancelsAsync(object viewmodel, NavigationMode mode, Page sourcePage, Type sourceType, object sourceParameter, Page targetPage, Type targetType, object targetParameter, bool suspending)
        {
            Services.NavigationService.NavigationService.DebugWrite();

            if (sourcePage == null)
            {
                return(false);
            }
            else if (viewmodel == null)
            {
                return(false);
            }
            else if (viewmodel is Classic.INavigatingAwareAsync)
            {
                var deferral            = new DeferralManager();
                var navigatingEventArgs = new Classic.NavigatingEventArgs(deferral)
                {
                    Page                = sourcePage,
                    PageType            = sourcePage?.GetType(),
                    Parameter           = sourceParameter,
                    NavigationMode      = mode,
                    TargetPageType      = targetType,
                    TargetPageParameter = targetParameter,
                    Suspending          = suspending,
                };
                try
                {
                    var vm = viewmodel as Classic.INavigatingAwareAsync;
                    await vm?.OnNavigatingFromAsync(navigatingEventArgs);

                    await deferral.WaitForDeferralsAsync();
                }
                catch
                {
                    Debugger.Break();
                }
                return(navigatingEventArgs.Cancel);
            }
            else if (viewmodel is Portable.IConfirmNavigationAsync)
            {
                var parameters = new Portable.NavigationParameters();
                parameters.Add("NavigationMode", mode.ToPrismNavigationMode());
                parameters.Add("SourceType", sourceType);
                parameters.Add("SourceParameter", sourceParameter);
                parameters.Add("TargetType", targetType);
                parameters.Add("TargetParameter", targetParameter);
                parameters.Add("Suspending", suspending);
                var vm = viewmodel as Portable.IConfirmNavigationAsync;
                return(!await vm?.CanNavigateAsync(parameters));
            }
            else
            {
                return(true);
            }
        }
Пример #9
0
        public async Task NavedToAsync(object viewmodel, NavigationMode mode, Page sourcePage, Type sourceType, object sourceParameter, Page targetPage, Type targetType, object targetParameter)
        {
            Services.NavigationService.NavigationService.DebugWrite();

            if (targetPage == null)
            {
                throw new ArgumentNullException(nameof(targetPage));
            }

            if (mode == NavigationMode.New)
            {
                PageState(targetPage).Clear();
            }

            if (viewmodel == null)
            {
                return;
            }
            else if (viewmodel is Classic.INavigatedAwareAsync)
            {
                var vm = viewmodel as Classic.INavigatedAwareAsync;
                await vm?.OnNavigatedToAsync(targetParameter, mode, PageState(targetPage));
            }
            else if (viewmodel is Portable.INavigatedAware)
            {
                var parameters = new Portable.NavigationParameters();
                parameters.Add("NavigationMode", mode.ToPrismNavigationMode());
                parameters.Add("SourceType", sourceType);
                parameters.Add("SourceParameter", sourceParameter);
                parameters.Add("TargetType", targetType);
                parameters.Add("TargetParameter", targetParameter);
                var vm = viewmodel as Portable.INavigatedAware;
                vm?.OnNavigatedTo(parameters);
            }
            else if (viewmodel is Portable.INavigatedAwareAsync)
            {
                var parameters = new Portable.NavigationParameters();
                parameters.Add("NavigationMode", mode.ToPrismNavigationMode());
                parameters.Add("SourceType", sourceType);
                parameters.Add("SourceParameter", sourceParameter);
                parameters.Add("TargetType", targetType);
                parameters.Add("TargetParameter", targetParameter);
                var vm = viewmodel as Portable.INavigatedAwareAsync;
                await vm?.OnNavigatedToAsync(parameters);
            }

            targetPage.InitializeBindings();
            targetPage.UpdateBindings();
        }
Пример #10
0
        public async Task<bool> NavingFromCancelsAsync(object viewmodel, NavigationMode mode, Page sourcePage, Type sourceType, object sourceParameter, Page targetPage, Type targetType, object targetParameter, bool suspending)
        {
            Services.NavigationService.NavigationService.DebugWrite();

            if (sourcePage == null)
            {
                return false;
            }
            else if (viewmodel == null)
            {
                return false;
            }
            else if (viewmodel is Classic.INavigatingAwareAsync)
            {
                var deferral = new DeferralManager();
                var navigatingEventArgs = new Classic.NavigatingEventArgs(deferral)
                {
                    Page = sourcePage,
                    PageType = sourcePage?.GetType(),
                    Parameter = sourceParameter,
                    NavigationMode = mode,
                    TargetPageType = targetType,
                    TargetPageParameter = targetParameter,
                    Suspending = suspending,
                };
                try
                {
                    var vm = viewmodel as Classic.INavigatingAwareAsync;
                    await vm?.OnNavigatingFromAsync(navigatingEventArgs);
                    await deferral.WaitForDeferralsAsync();
                }
                catch
                {
                    Debugger.Break();
                }
                return navigatingEventArgs.Cancel;
            }
            else if (viewmodel is Portable.IConfirmNavigationAsync)
            {
                var parameters = new Portable.NavigationParameters();
                parameters.Add("NavigationMode", mode.ToPrismNavigationMode());
                parameters.Add("SourceType", sourceType);
                parameters.Add("SourceParameter", sourceParameter);
                parameters.Add("TargetType", targetType);
                parameters.Add("TargetParameter", targetParameter);
                parameters.Add("Suspending", suspending);
                var vm = viewmodel as Portable.IConfirmNavigationAsync;
                return !await vm?.CanNavigateAsync(parameters);
            }
            else
            {
                return true;
            }
        }