Xamarin.Forms - оболочка изначально не отражает свойства цвета - PullRequest
0 голосов
/ 14 января 2020

У меня есть оболочка в 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

enter image description here

(Android, затем iOS) Левая сторона - это то, что «изначально» загружается. Когда я перехожу на любую страницу, она получает правильную цветовую схему (справа). Я поменяю местами разделы, а затем go назад - и тогда мой цвет будет правильным.

В iOS это еще хуже, потому что цвет фона БЕЛЫЙ, поэтому вы не можете видеть какие-либо элементы в Заголовок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...