更改文本块前景

Aym*_*raf 0 c# windows-phone-8

我有这样的RGB颜色#dc020d
,我有一个文本块,我想让文本块的前景等于我作为字符串的RGB颜色.

我试过了

var bc = new BrushConverter();

tb.Foreground = (Brush)bc.ConvertFrom("#FFXXXXXX");
Run Code Online (Sandbox Code Playgroud)

但它没有用,虽然我正在使用System.Windows.Media.

我找到的唯一方法,Color.FromArgb()但它需要四个字节,我无法将字符串转换为四个字节.

Gau*_*kke 7

创建一个采用十六进制颜色的字符串并返回一个的方法SolidColorBrush.

喜欢:

public SolidColorBrush GetBrushFromHexColor(string hexColor)
{
    return new SolidColorBrush(
        Color.FromArgb(
            Convert.ToByte(hexColor.Substring(1, 2), 16),
            Convert.ToByte(hexColor.Substring(3, 2), 16),
            Convert.ToByte(hexColor.Substring(5, 2), 16),
            Convert.ToByte(hexColor.Substring(7, 2), 16)
        )
    );
}
Run Code Online (Sandbox Code Playgroud)

并将此函数调用到您将颜色设置为文本块的行.

MyTxt.Foreground = GetBrushFromHexColor("#ffdc020d");
Run Code Online (Sandbox Code Playgroud)