由于HTML Hex代码,无法设置背景颜色

时间:2014-01-03 18:40:16

标签: wpf

我正在尝试使用我在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'.

3 个答案:

答案 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"/>