2009-02-06 27 views
37

Tengo un archivo MainResources.xaml en el que tengo un estilo que define cómo cada una de las ventanas de mi mirada en mi aplicación:En estilo XAML, ¿cómo cambiar el fondo sólido a degradado?

<Style x:Key="MainBorderStyle" TargetType="{x:Type Border}"> 
    <Setter Property="Background" Value="WhiteSmoke" /> 
    <Setter Property="BorderBrush" Value="LightGray" /> 
    <Setter Property="BorderThickness" Value="1" /> 
    <Setter Property="CornerRadius" Value="5" /> 
    <Setter Property="SnapsToDevicePixels" Value="True" /> 
    </Style> 

En lugar de "WhiteSmoke" Quiero que mi fondo sea este gradiente:

<LinearGradientBrush> 
     <GradientStop Color="#ccc" Offset="0"/> 
     <GradientStop Color="#bbb" Offset="1"/> 
    </LinearGradientBrush> 

Pero el siguiente intento provoca VS2008 me diga "set estilo no son compatibles con elementos secundarios":

<Style x:Key="MainBorderStyle" TargetType="{x:Type Border}"> 
    <Setter Property="Background"> 
     <LinearGradientBrush> 
      <GradientStop Color="#ccc" Offset="0"/> 
      <GradientStop Color="#bbb" Offset="1"/> 
     </LinearGradientBrush> 
    </Setter> 
    <Setter Property="BorderBrush" Value="LightGray" /> 
    <Setter Property="BorderThickness" Value="1" /> 
    <Setter Property="CornerRadius" Value="5" /> 
    <Setter Property="SnapsToDevicePixels" Value="True" /> 
</Style> 

Cuál es el c ¿Manera correcta de poner un degradado de color como fondo para este estilo?

Respuesta

73

se echa en falta la <Setter.Value>

<Style ...> 
    <Setter Property="..."> 
     <Setter.Value> 
     <LinearGradientBrush /> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

Perfecto, gracias! –

Cuestiones relacionadas