使用自定义颜色代码设置面板的背景

22
在 WPF 中,我可以使用以下代码设置 StackPanel 的背景:
stackPanelFlasher.Background = Brushes.Aqua;

如何将颜色设置为十六进制颜色代码,例如#C7DFFC

4个回答

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

需要更少的资源...


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

11

我认为这个示例对你的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>

4
以下一行代码应该可以正常工作。
something.Background = (Brush)new BrushConverter().ConvertFrom("#C7DFFC");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接