Как перейти от обычной страницы к MasterDetailPage с помощью фреймворка Prism.Forms? - PullRequest
0 голосов
/ 02 июля 2019

Итак, у меня есть заставка и экран входа в систему, после того, как пользователь входит в систему, он получает MasterDetailPage, и есть возможность выйти из системы, чего я хочу добиться, это очистить навигацию masterdetail и перейти на страницу входаиспользуя Prism.Forms Но когда я делаю "NavigationPage / LoginPage", он все еще имеет активную навигацию MasterDetailPage, есть ли способ отключить это поведение, используя Prism

After Logging In

After leaving [![After Logging Again MasteDetailNavigation] 3 ] 3

Любая помощь будет полезна

1 Ответ

0 голосов
/ 02 июля 2019

Как я вижу из вашего вопроса, вы хотите сбросить стек навигации и страницу с основной информацией и перейти на "чистую" страницу для вашей страницы входа. Если вы хотите достичь этого, вы не хотите использовать NavigationPage/LoginPage, вам нужно будет использовать Absolute navigation, потому что с помощью абсолютной навигации в Prism вы сможете сбросить весь стек навигации, и это эквивалентно:

Application.Current.MainPage = new SomePage()

Подробнее об этом можно узнать здесь .

Но в основном вам нужно использовать навигацию Prism Absolute следующим образом:

//absolute short-syntax
_navigationService.NavigateAsync("/YourPage"); //notice the prefix /

//absolute URI-syntax
_navigationService.NavigateAsync(new Uri("http://www.brianlagunas.com/YourPage", UriKind.Absolute));

Пример кода с сайта документации Prism Library

Также я рекомендую вам взглянуть на мой пост в блоге Как сделать меню навигации по страницам с основными данными в Xamarin. Формы с Prism

Желаю вам удачи в кодировании!

...