Чтобы убедиться, что это можно воспроизвести, я создал новый .NET MAUI проект. Я добавил весь код моего нового проекта ниже. Это немного многовато, но на самом деле это всего лишь 3 страницы с кнопками и командами для навигации с помощью Shell. Ничего особенного. Страница A и B могут перейти к C. Единственная разница: A переходит к C, используя абсолютный путь /B/C, тогда как B переходит к C напрямую (помещая в стек). Таким образом, при любых обстоятельствах возврат со страницы C всегда заканчивается на странице B.
Происходит следующее:
B > C > (backto)B = title полоса на B остается прежней
A > B/C > (обратно)B = строка заголовка на B меняет цвет фона на темно-серый, непреднамеренно
Заголовок панель возвращается в нормальное состояние после перехода со страницы и последующего перехода обратно снова. Изменение цвета строки заголовка не является постоянным на протяжении всего жизненного цикла приложения.
Обновить
Об этой ошибке сообщалось в .NET MAUI. раздел вопросов на Github.
Предварительный просмотр
Использование эмулятора Pixel 5 Android 13 API 33. В этом примере я использую устройства 'Назад, но то же самое происходит и при использовании в XAML с командой возврата на страницу B. Это не имеет значения.

AppShell
Страница А
ViewModel A:
public class MainPageViewModel : BaseViewModel
{
public Command GoToModalViaSecondPageCommand { get; private set; }
public MainPageViewModel()
{
GoToModalViaSecondPageCommand = new Command(GoToModalViaSecondPage);
}
public async void GoToModalViaSecondPage()
{
await Shell.Current.GoToAsync($"//{nameof(SecondPage)}/{nameof(ModalPage)}");
}
}
Страница Б
ViewModel B:
public class SecondPageViewModel : BaseViewModel
{
public Command GoToModalDirectlyCommand { get; private set; }
public SecondPageViewModel()
{
GoToModalDirectlyCommand = new Command(GoToModalDirectly);
}
public async void GoToModalDirectly()
{
await Shell.Current.GoToAsync($"{nameof(ModalPage)}");
}
}
Страница C
ViewModel C:
public class ModalPageViewModel : BaseViewModel
{
public Command BackToPageBCommand { get; private set; }
public ModalPageViewModel()
{
BackToPageBCommand = new Command(BackToPageB);
}
public async void BackToPageB()
{
await Shell.Current.GoToAsync($"//{nameof(SecondPage)}");
}
}
Styles.xaml
В ответ на комментарий FreakyAlis: Shell.BackgroundColor определен в Styles.xaml по умолчанию, и когда я его удаляю, все строки заголовка имеют серый цвет. Кажется, где-то определен «запасной» цвет. Это значение по умолчанию:
...
...
...
Подробнее здесь: https://stackoverflow.com/questions/767 ... n-net-maui
Мобильная версия