我必须实用地使用文本块的前景色十六进制颜色。它不起作用。请帮助我。
我试过这个例子
txtHome.Foreground = new SolidColorBrush(Colors.Red);
但我想使用十六进制颜色代码而不是使用 Color.red 等。
虽然有些答案会创建不必要的字符串,但我建议仅使用最有效的:
var brush=new SolidColorBrush(Color.FromArgb(0xFF, 0xD0, 0x20, 0x30));
我刚刚使用过FromArgb http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.windows.media.color.fromargb%28v=vs.105%29.aspx直接转换颜色的十六进制表示的方法。第一个参数是 alpha 或不透明度,您始终可以使用 255/0xFF 来指定完全不透明度。然后,它仅提供表示颜色的 3 个字节,这些字节的顺序与它们在颜色的常见十六进制表示中出现的顺序相同。在上面的例子中:"D02030"
.
此外,您可能会考虑创建一个可重用的资源来表示SolidColorBrush
并将其添加到app.xaml
文件,使其全局可用:
<SolidColorBrush x:Key="myBrush" Color="#D02030" />
然后,在代码中:
txtHome.Foreground = App.Current.Resources["myBrush"] as SolidColorBrush;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)