Цвета стиля 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'.
Не справляясь с этим, можно ли мне направить меня в правильном направлении?
Ответы
Ответ 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
, а не цвет.