У меня есть оболочка в Xamarin. Формы, которые я установил Attached Properties (для цвета) для:
<Shell x:Class="Sample.MyApp.Views.MasterView"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:behavior="clr-namespace:Sample.MyApp.Behaviors"
xmlns:definitions="clr-namespace:Sample.MyApp.Definitions"
xmlns:views="clr-namespace:Sample.MyApp.Views"
Shell.BackgroundColor="{x:Static definitions:Colors.ShellBackgroundColor}"
Shell.TabBarBackgroundColor="{x:Static definitions:Colors.ShellBackgroundColor}"
Shell.TabBarForegroundColor="{x:Static definitions:Colors.ShellForegroundColor}"
Shell.TitleColor="{x:Static definitions:Colors.ShellForegroundColor}"
Shell.UnselectedColor="{x:Static definitions:Colors.BlockForegroundMutedColor}">
И это прекрасно работает - но только после того, как я перейду куда-то еще (что может иногда путаю). В iOS фон оболочки является белым (как и значок выпадающего меню), а в Android - слегка синим.
Как только я перехожу на другую страницу, все отображается так, как должно - - нет проблем.
Что-то не так с этим методом установки цветов в командной консоли?
public App()
{
InitializeComponent();
MainPage = new MasterView() { BindingContext = new MasterViewModel() };
}
Это конструктор для приложения (re: Xamarin.Forms.Application) .
Есть ли другой способ задания цветов оболочки, который мне не хватает?
![Problematic Issue](https://i.stack.imgur.com/IMeBR.png)
![enter image description here](https://i.stack.imgur.com/uOMD5.png)
(Android, затем iOS) Левая сторона - это то, что «изначально» загружается. Когда я перехожу на любую страницу, она получает правильную цветовую схему (справа). Я поменяю местами разделы, а затем go назад - и тогда мой цвет будет правильным.
В iOS это еще хуже, потому что цвет фона БЕЛЫЙ, поэтому вы не можете видеть какие-либо элементы в Заголовок.