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

时间:2017-07-01 12:09:27

标签: c# xml uwp windows-10-universal uwp-xaml

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

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

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

xml:

<test-unit name ="FOG_LAMP"  text ="Fog Lamp"  mode ="DIG_IN" color="ORANGE"/>

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

感谢您的帮助

2 个答案:

答案 0 :(得分:5)

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

var color = (Color)XamlBindingHelper.ConvertValue(typeof(Color), "ORANGE");
var brush = new SolidColorBrush(color);
NewTextBlock.Foreground = brush;

答案 1 :(得分:2)

使用UWPCommunityToolkit的Colors Helper

text = text.strip()