Проблема с белым экраном при навигации в формах Xamarin Страница Prism MasterDetails - PullRequest
0 голосов
/ 07 февраля 2019

Я реализовал страницу MasterDetail, используя призму форм xamarin, и у меня есть следующие страницы в моем приложении.1) Мастер 2) Дом 3) Сотрудник 4) Профиль

- Первоначально приложение устанавливается на страницу Мастер - Главная страница (Страница сведений) после входа в систему.С домашней страницы я перехожу к сотруднику (страница сведений), используя следующий код:

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

- со страницы сотрудника я перехожу к профилю (страница содержимого - страница без сведений), нажимая на одного из сотрудников, используякод:

 await _navigationService.NavigateAsync("Profile", lstparam, null, false);

- После нажатия кнопки home на странице профиля я хочу перейти к Master - Home (страница сведений).Однако он переходит к сотруднику (страница сведений).

await _navigationService.GoBackToRootAsync();

Проверен стек навигации с помощью отладки, в нем отображалась только страница сотрудника (страница сведений).Также попытался перейти на домашнюю страницу, используя следующий код:

await NavigationService.NavigateAsync("/Master/NavigationPage/Home");

Приведенный выше код работает, и я могу перейти к домашней странице (страница сведений), но при переходе от профиля к домашней странице появляется белый экран.

Прикрепленные скриншоты.Пожалуйста, помогите. Заранее спасибо.

MasterPage

Details_Home

Details_Employee

Профиль

Белый экран

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

В моем случае это случилось из-за того, что я использовал неправильный NavigationService.
У меня был статический Navigator класс, который я использую для управления и регистрации навигации в приложении (простойwrapper), который содержал свойство с именем Instance, типа NavigationService, которое я устанавливал для NavigationService в App.xaml.cs

Переназначение его для каждой модели ViewModel (в конструкторе ViewModelBase)исправил ошибку белой страницы.
Надеюсь, это кому-нибудь поможет!

0 голосов
/ 18 февраля 2019

У меня недавно была очень похожая проблема, но она не зависела от призмы.Я хотел создать функции автологина, обходя вход в систему (ContentPage) и вызывая домашнюю страницу (Master and Detail Page).Для этого мне пришлось вызвать метод асинхронного входа в систему в моем классе приложения.по порядку:

  1. Вызов асинхронной службы
  2. Вызов NavigationService.NavigateAsync

В этом случае появляется пустая страница

Для решения:

  1. Вызов NavigationService.NavigateAsync
  2. Вызов асинхронной службы
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...