Самый простой способ преобразования цвета как строки типа #XXXXXX в System.Windows.Media.Brush

Я думаю, что название понятно!

Что я имею сейчас:

System.Drawing.Color uiui = System.Drawing.ColorTranslator.FromHtml(myString);
var intColor = (uint)((uiui.A << 24) | (uiui.R << 16) | (uiui.G << 8) | (uiui.B << 0));
var bytes = BitConverter.GetBytes(uint.Parse(value));
var brush = new SolidColorBrush();
brush.Color = Color.FromArgb(bytes[3], bytes[2], bytes[1], bytes[0]);

1- myString имеет вид #FFFFFF, как я сказал в заголовке

2- Это не удается на линии BitConverter.GetBytes, что меня удивляет, потому что я получил представление int для моего Color!

3- В любом случае, я знаю, что преобразование COlor не настолько интуитивно, но я чувствую, что делаю это неправильно... Это хороший способ?

12
задан Guillaume Slashy 7 February 2012 в 15:20
поделиться