在Windows Universal App中将字符串类型转换为Windows.UI.Color

D.G*_*din 3 c# xml uwp windows-10-universal uwp-xaml

我正在尝试制作一个程序来解析具有预定义格式的xml文件,并将一些UI控件添加到Windows Universal Application中的MainPage中。

在某些部分中,我需要在相关的xml文件中指定TextBlocks的背景颜色,因此我正在寻找一种转换字符串属性,从xml读取并将其转换为Windows.UI.Color对应值的方法。

这是我的xml文件和要添加控件的C#代码

xml:

<test-unit name ="FOG_LAMP"  text ="Fog Lamp"  mode ="DIG_IN" color="ORANGE"/>
Run Code Online (Sandbox Code Playgroud)

C#:

public void AddNewTextBlock(String Name, String Text, String Color)
{
    TextBlock NewTextBlock = new TextBlock();
    NewTextBlock.Name = Name;
    NewTextBlock.Text = Text;
    NewTextBlock.FontSize = 24;
    myGrid.Children.Add(NewTextBlock);
}
Run Code Online (Sandbox Code Playgroud)

感谢帮助

Jus*_* XL 6

您可以使用XamlBindingHelperstring值转换为Color-

var color = (Color)XamlBindingHelper.ConvertValue(typeof(Color), "ORANGE");
var brush = new SolidColorBrush(color);
NewTextBlock.Foreground = brush;
Run Code Online (Sandbox Code Playgroud)