2012-03-12 12 views
12

que quiero hacer algo como esto:Colores Styling WPF

diccionario de recursos

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

Conseguir Excepción:

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

Tiene problemas clavado hacia abajo, puede cualquier un punto me en la dirección correcta?

Respuesta

18

Background es un Brush, no un Color. Su mejor opción es definir sus recursos "Primario" y "Secundario" como pinceles en lugar de colores.

Bastante seguro que incluso podría basar los pinceles en los colores existentes.

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

Parece que puede hacer eso, gracias. – AGoodDisplayName

1

la propiedad background es de tipo System.Windows.Media.Brush, no un color.

5

La propiedad de fondo necesita un cepillo para funcionar.

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