Почему при переходе к корню в Xamarin.Forms с Prism я получаю заголовок по умолчанию в верхней части страницы NavigationPage? - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть приложение для iOS, написанное на Xamarin.Forms, которое использует Prism NavigationService для навигации. Когда пользователь нажимает кнопку «Выход», навигация возвращается к экрану входа. После повторного выполнения этого действия заголовок появляется снова.

Я подавляю заголовок NavigationPage на каждом экране с кодом

NavigationPage.SetHasNavigationBar(this, false);

Это работает изначально. Тем не менее он перестает работать после нескольких нажатий стека навигации.

На странице входа, где это происходит, я также попытался добавить следующее в XAML с тем же результатом.

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
             xmlns:local="clr-namespace:BIMSMobile.ViewModels"
             NavigationPage.HasNavigationBar="False"
             x:Class="BIMSMobile.Views.LoginPage">
    <ContentPage.Content>
...

Я подавляю заголовок NavigationPage в пользу пользовательского представления, имеющего кнопку «Выход». Кнопка выхода имеет следующий обработчик:

        protected void OnLogoutClicked(object sender, EventArgs e)
        {
                SessionHelper.Instance.SignOutUser();
        }

В SessionHelper я делаю следующее:

await NavigationService.NavigateAsync("NavigationPage/LoginPage");

Синий заголовок подавляется при открытии приложения и поддерживается для первогонесколько назад навигации (поп). Я ожидаю, что это всегда будет так. Однако после второго выхода из системы снова появляется заголовок по умолчанию, а остальную часть содержимого выводите на экран.

...