2009-02-06 28 views
37

Tôi đã có một tập tin MainResources.xaml trong đó tôi có một phong cách định nghĩa như thế nào từng cửa sổ của tôi trong ứng dụng của cái nhìn của tôi:Trong phong cách XAML, làm thế nào để thay đổi nền rắn thành gradient?

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

Thay vì "WhiteSmoke" Tôi muốn nền của tôi là gradient này:

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

Nhưng những nỗ lực sau sẽ khiến cho VS2008 để cho tôi biết "Style setters không hỗ trợ phần tử con":

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

c là gì orrect cách để đặt một màu gradient làm nền cho phong cách này?

Trả lời

73

Bạn đang thiếu <Setter.Value>

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

Perfect, cảm ơn! –

Các vấn đề liên quan