2010-07-14 138 views
15

面板的背景在WPF中,我可以用下面的代码设置与自定义颜色代码

stackPanelFlasher.Background = Brushes.Aqua; 

设置堆叠面板的背景怎样可以设置颜色,例如#C7DFFC一个十六进制颜色代码?

回答

33
BrushConverter bc = new BrushConverter(); 
stackPanelFlasher.Background= (Brush)bc.ConvertFrom("#C7DFFC"); 

应该做的工作。如果你想让它防水,更好的方式是

BrushConverter bc = new BrushConverter(); 
Brush brush=(Brush)bc.ConvertFrom("#C7DFFC"); 
brush.Freeze(); 
stackPanelFlasher.Background=brush; 

需要更少的资源...

10
stackPanelFlasher.Background = new SolidColorBrush(Color.FromArgb(alpha, red, green, blue)); 
7

我认为这个示例可以帮助您为xaml解决方案;

<Border.Background> 
     <LinearGradientBrush EndPoint="1.204,0.5" StartPoint="0.056,0.5"> 
      <GradientStop Color="#FFFFFFFF" Offset="0" /> 
      <GradientStop Color="#FFD4D7DB" Offset="1" /> 
     </LinearGradientBrush>      
    </Border.Background>