В настоящее время у меня есть приложение, которое не прошло сертификацию из-за ошибки перехода страницы.
Проблема очень чувствительна к времени, но может быть воспроизведена следующим образом:
- Запустите приложение — подождите, пока откроется домашняя страница
- Перейти на дочернюю страницу
- Как только начнется навигация, нажмите кнопку запуска
- Затем нажмите кнопку «Назад» — там есть дочерняя страница.
- Затем нажмите кнопку «Назад» — домашней страницы там нет — это пустой экран.
Если я затем нажму кнопку блокировки экрана, а затем разблокирую телефон, то страница появится нормально.
Нет данных, по которым я могу понять, почему домашняя страница не отображается, поэтому кажется, что это как-то связано с переходами страниц.
Есть настройка с использованием:
var navInTransition = new NavigationInTransition
{
Backward = new TurnstileTransition { Mode = TurnstileTransitionMode.BackwardIn },
Forward = new TurnstileTransition { Mode = TurnstileTransitionMode.ForwardIn }
};
var navOutTransition = new NavigationOutTransition
{
Backward = new TurnstileTransition { Mode = TurnstileTransitionMode.BackwardOut },
Forward = new TurnstileTransition { Mode = TurnstileTransitionMode.ForwardOut }
};
TransitionService.SetNavigationInTransition(this, navInTransition);
TransitionService.SetNavigationOutTransition(this, navOutTransition);
Если я удалю этот код перехода, то мое приложение никогда не "зависнет".
Кто-нибудь видел что-нибудь подобное раньше? Есть ли у кого-нибудь идеи, как я могу работать в коде, если переходы страниц застряли, и если они таковы, как я могу их перезапустить?