我必须实用地使用 Textblock 的前景色十六进制颜色。它不起作用。请帮助我。
我试过这个例子
txtHome.Foreground = new SolidColorBrush(Colors.Red);
但我想使用十六进制颜色代码而不是使用 Color.red 等。
最佳答案
虽然有些答案会创建不必要的字符串,但我建议只使用最有效的:
var brush=new SolidColorBrush(Color.FromArgb(0xFF, 0xD0, 0x20, 0x30));
我刚刚用过
FromArgb
直接转换颜色的十六进制表示的方法。第一个参数是 alpha 或不透明度,您始终可以使用 255/0xFF 来指定完全不透明度。然后,它只提供表示颜色的 3 个字节,它们的顺序与它们出现在颜色的常见十六进制表示中的顺序相同。在上面的例子中:"D02030"
.此外,您可能会考虑创建一个代表
SolidColorBrush
的可重用资源。并将其添加到 app.xaml
文件,使其成为全局可用的:<SolidColorBrush x:Key="myBrush" Color="#D02030" />
然后,在代码中:
txtHome.Foreground = App.Current.Resources["myBrush"] as SolidColorBrush;
关于windows-phone-8 - 如何以编程方式设置 TextBlock 前景色十六进制颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22317767/