15

私はこのようなことをしたい:

リソース ディクショナリ

<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'.

それを釘付けにするのに苦労していますが、誰かが私を正しい方向に向けることができますか?

4

3 に答える 3

21

Backgroundは、BrushではありませんColor。最善の策は、「プライマリ」および「セカンダリ」リソースを色ではなくブラシとして定義することです。

既存の色に基づいてブラシを作成することもできます。

<SolidColorBrush x:Key="PrimaryBrush" Color="{StaticResource clrPrimary}" />
...
    <Setter Property="Background" Value="{StaticResource PrimaryBrush}" />
于 2012-03-12T21:40:44.890 に答える
6

backgroundプロパティを機能させるには、ブラシが必要です。

<Window.Resources>
    <SolidColorBrush x:Key="clrPrimary" Color="#5381ac" />
</Window.Resources>
于 2012-03-12T21:41:21.263 に答える
1

背景プロパティはSystem.Windows.Media.Brush、色ではなく、タイプです。

于 2012-03-12T21:41:15.647 に答える