определить цвет в Xamarin.Forms XAML без «Тип« Цвет »не поддерживает прямой контент» - PullRequest
0 голосов
/ 24 ноября 2018

В документах и ​​блоге Xamarin есть несколько мест (, вот один , а документы даже не охватывают эту проблему), которые ссылаются на определения цвета в ResourceDictionary, которые выглядят так:

<Application.Resources>
    <ResourceDictionary>
        <Color x:Key="backgroundColor">#33302E</Color>
        <Color x:Key="textColor">White</Color>
    </ResourceDictionary>
</Application.Resources>

Это, кажется, старые новости, потому что, если вы попробуете это сейчас, вы получите ошибку компиляции - The type 'Color' does not support direct content.

Нынешняя норма, похоже, использует FactoryMethod (например, FromHsla) и передает числовые аргументы цвета.Но существует ли в настоящее время краткий синтаксис для определения ключей Color (по имени, в идеале, например, Red) в ResourceDictionary с использованием XAML?

1 Ответ

0 голосов
/ 24 ноября 2018

Если вы определяете цвет с помощью ResourceDictionary, вы можете объявить его только в шестнадцатеричном формате (с альфа-каналом или без него), цвет перечисления фактически определяется с помощью кода Класса цвета , вы можете создатьсписок цветов таким образом

namespace YourNamespace
{
    public static class Colors
    {
        public statis Color BackgroundColor = Color.FromHex("#33302E");

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