Есть ли обходной путь для этой ошибки цвета строки заголовка в .NET MAUI?C#

Место общения программистов C#
Ответить
Anonymous
 Есть ли обходной путь для этой ошибки цвета строки заголовка в .NET MAUI?

Сообщение Anonymous »

Почему строка заголовка меняет цвет и существует ли обходной путь для этой (предположительной) ошибки?
Чтобы убедиться, что это можно воспроизвести, я создал новый .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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»