2013-06-10 5 views
0

Я новичок в XAML, как бы я идти о создании Background Gradient Brush для Canvas фона, где Color Gradient может использовать ранее определенные Brush получить new Brush, например, так:WPF XAML Style свойство

<Style x:Key="CanvasColorTheme" TargetType="Canvas"> 
    <Setter Property="Background"> 
     <Setter.Value> 
      <RadialGradientBrush> 
       <GradientStop Color="#FFCCDFFF" Offset="0.25"/> 
       <GradientStop <!-- Previous Color/2 --> Offset="0.50"/> 
       <GradientStop <!-- Previous Color/2 --> Offset="0.70"/> 
       <GradientStop <!-- Previous Color/2 --> Offset="0.95"/> 
      </RadialGradientBrush> 
     </Setter.Value>      
    </Setter>     
</Style> 

ответ

0

Я использовал ResourceDictionary. Вот то, что я написал в:

<LinearGradientBrush x:Key="ToolBarToggleButtonHorizontalBackground" EndPoint="0,1" StartPoint="0,0"> 
    <GradientStop Color="#ECECEC" Offset="0"/> 
    <GradientStop Color="#DDDDDD" Offset="0.5"/> 
    <GradientStop Color="#A0A0A0" Offset="1"/> 
</LinearGradientBrush> 

<Style x:Key="ToolBarHorizontalOverflowButtonStyle" TargetType="{x:Type ToggleButton}"> 
    <Setter Property="Background" Value="{StaticResource ToolBarToggleButtonHorizontalBackground}"/> 
</Style> 

Так, чтобы «активировать» ResourceDictionary необходимо ввести этот код insode App.xaml

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Themes/ShinyGrey.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

надеюсь, что это помогает.