我正在尝试在c#代码中添加颜色,例如以下颜色代码。
ListTreeView.Background = new SolidColorBrush(Colors.White);
这是有用的..但我想将此颜色添加为颜色代码,因此我添加为
System.Windows.Media
有人可以给我一个例子吗
System.Drawing中
所以我可以做以下事情:
ListTreeView.Background = ColorTranslator.FromHtml(“#FFE7EFF2”);
这给了我错误;任何想法?
答案 0 :(得分:21)
以这种方式获取十六进制字符串中包含alpha的颜色并不容易。
我认为你的答案取决于你从哪里获得颜色和alpha值。
可以从HTML十六进制字符串中单独解析RGB颜色:
Color colour = ColorTranslator.FromHtml("#E7EFF2");
如果您有单独的Alpha值,则可以应用此值(docs):
Color colour = ColorTranslator.FromHtml("#E7EFF2");
Color transparent = Color.FromArgb(128, colour);
或者,您可能需要解析字符串并将其拆分以将十六进制对转换为整数值。
PS借口英文拼写,但颜色肯定应该有'u':)答案 1 :(得分:7)
ListTreeView
不是框架提供的标准Control
,因此您必须查阅其文档。但是,一般情况下,您可以使用 System.Drawing.ColorTranslator.FromHtml
或 System.Drawing.Color.FromArgb
。以下是使用TreeView执行此操作的方法:
TreeView t = ...
t.BackgroundColor = Color.FromArgb(0xff00ff00); // Fully opaque, 100% green.
// or:
t.BackgroundColor = ColorTranslator.FromHtml("green");
答案 2 :(得分:2)
我认为你可以使用System.Drawing.ColorTranslator.FromHtml
。
答案 3 :(得分:0)