我只想设置 StackPanel 的背景属性,目前我通过以下代码设置它,
statusPanel.Background = new SolidColorBrush(Colors.Cyan);
但我只是想设置一个十六进制值。我该怎么办?
答案 0 :(得分:4)
statusPanel.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0, 0));
如果这回答了您的问题,请在左侧检查。
答案 1 :(得分:1)
使用此功能:
public SolidColorBrush GetColorFromHexa(string hexaColor)
{
byte R = Convert.ToByte(hexaColor.Substring(1, 2), 16);
byte G = Convert.ToByte(hexaColor.Substring(3, 2), 16);
byte B = Convert.ToByte(hexaColor.Substring(5, 2), 16);
SolidColorBrush scb = new SolidColorBrush(Color.FromArgb(0xFF, R, G, B));
return scb;
}
用法:
statusPanel.Background = GetColorFromHexa("#RRGGBB");
答案 2 :(得分:-1)
您可以使用ColorConverter.ConvertFromString方法。
statusPanel.Background =
new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF010203"));