Установить цвет через цветовой код в С#

Я пытаюсь добавить цвет в код С# со следующим цветовым кодом, например.

ListTreeView.Background = новый SolidColorBrush (Colors.White);

Это работает... но я хочу добавить этот цвет в качестве цветового кода, поэтому добавляю его как

System.Windows.Media

Может ли кто-нибудь дать мне пример с

System.Drawing

Так что я могу сделать следующее:

ListTreeView.Background = ColorTranslator.FromHtml( "# FFE7EFF2" );

Это дает мне ошибку; Любые идеи?

Ответы

Ответ 1

Нет простого способа получить цвет с альфами, включенными в шестнадцатеричную строку таким образом.

Я думаю, что ваш ответ зависит от того, откуда вы получаете цветные и альфа-значения.

Только цвет RGB может быть проанализирован из шестнадцатеричной строки HTML:

Color colour = ColorTranslator.FromHtml("#E7EFF2");

Если у вас есть отдельное альфа-значение, вы можете применить это (docs):

Color colour = ColorTranslator.FromHtml("#E7EFF2");
Color transparent = Color.FromArgb(128, colour);

В качестве альтернативы вам может понадобиться проанализировать строку и разделить ее, чтобы преобразовать шестнадцатеричные пары в целые значения.

PS оправдывает английское правописание, но цвет должен обязательно иметь "u" в нем:)

Ответ 2

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");

Ответ 3

Я думаю, вы могли бы использовать System.Drawing.ColorTranslator.FromHtml.