Как перейти назад из всплывающего окна Xamarin.Forms Prism - PullRequest
0 голосов
/ 03 июля 2018

Xamarin.forms, использующие Prism Navigation, не работают в сценарии ниже:

  1. App.xaml.cs in OnInitialized NavigationService.NavigateAsync(nameof(LoginView));
  2. В LoginViewModel после входа я перехожу на MainPage await _navigationService.NavigateAsync(new Uri("MainPage", UriKind.Relative),useModalNavigation:true, animated: false);
  3. У MainPaga есть кнопка, как только я нажимаю на кнопку, она будет всплывающим окном.
  4. ПараметрViewView (всплывающее окно) имеет кнопку (LogOut), когда я нажимаю кнопку (LogOut), он должен вернуться в LoginView. Это код перехода назад.

                    await _navigationService.ClearPopupStackAsync(animated: false);
                await _navigationService.GoBackAsync(useModalNavigation: true, animated: false);
    

сначала я очищаю всплывающее окно, затем возвращаюсь назад, но он не возвращается обратно к LoginView?

1 Ответ

0 голосов
/ 03 июля 2018

Если вы используете PRISM и хотите очистить текущий стек. Вам лучше использовать явную навигацию URI. Значение кода позади кнопки выхода из системы должно выглядеть следующим образом

await _navigationService.NavigateAsync("/NavigationPage/LoginView");

При добавлении / в начале URI текущий стек будет очищен.

...