Подтвердить что ты не робот

Цвета стиля WPF

Я хочу сделать что-то вроде этого:

Словарь ресурсов

<Color x:Key="clrPrimary">#5381ac</Color>
<Color x:Key="clrSecondary">#20558a</Color>

<Style TargetType="Grid" x:Key="myGrid">
    <Setter Property="Background" Value="{StaticResource clrPrimary"/>
</Style>

Получение исключения:

'#FF5381AC' is not a valid value for property 'Background'.

Не справляясь с этим, можно ли мне направить меня в правильном направлении?

4b9b3361

Ответ 1

Background является Brush, а не a Color. Лучше всего определить свои "первичные" и "вторичные" ресурсы как кисти, а не цвета.

Довольно уверен, что вы можете даже подобрать кисти от существующих цветов.

<SolidColorBrush x:Key="PrimaryBrush" Color="{StaticResource clrPrimary}" />
...
    <Setter Property="Background" Value="{StaticResource PrimaryBrush}" />

Ответ 2

Свойству background требуется кисть для работы.

<Window.Resources>
    <SolidColorBrush x:Key="clrPrimary" Color="#5381ac" />
</Window.Resources>

Ответ 3

Фоновое свойство имеет тип System.Windows.Media.Brush, а не цвет.