21

在 WPF 中,我可以使用以下代码设置堆栈面板的背景

stackPanelFlasher.Background = Brushes.Aqua;

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

4

4 回答 4

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

需要更少的资源...

于 2010-07-14T13:39:37.963 回答
13
stackPanelFlasher.Background = new SolidColorBrush(Color.FromArgb(alpha, red, green, blue));
于 2010-07-14T13:37:44.540 回答
10

我认为这个示例可以帮助您获得 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>
于 2010-07-14T13:39:04.707 回答
3

以下oneliner应该可以工作。

something.Background = (Brush)new BrushConverter().ConvertFrom("#C7DFFC");
于 2019-01-16T21:33:35.390 回答