我正在尝试使用我在HEX代码中在线找到的颜色来设置模板的背景:
<Color x:Key="BaseColor">#408DD2</Color>
....
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background"
Value="{StaticResource BaseColor}" />
</Trigger>
</ControlTemplate.Triggers>
我得到的错误是:
'#FF408DD2' is not a valid value for property 'Background'.
答案 0 :(得分:4)
Border.Background
属于System.Windows.Media.Brush
类型,您无法为其指定System.Windows.Media.Color
。
相反,请创建Brush
类型的资源:
<SolidColorBrush x:Key="BaseColor" Color="#408DD2"/>
或,
让你的Setter
创建要分配给该属性的画笔:
<Setter TargetName="Border" Property="Background">
<Setter.Value>
<SolidColorBrush Color="{StaticResource BaseColor}"/>
</Setter.Value>
</Setter>
答案 1 :(得分:2)
要设置颜色的十六进制值,请使用Brush
,如下所示:
<SolidColorBrush x:Key="BaseColor">#408DD2</SolidColorBrush>
答案 2 :(得分:2)
背景属于Brush
,而非Color
。所以你需要提供Brush:
<SolidColorBrush x:Key="BaseColor" Color="#408DD2"/>