我正在尝试制作一个程序来解析具有预定义格式的xml文件,并将一些UI控件添加到Windows通用应用程序中的主页。
在某些部分,我需要在相关的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);
}
感谢您的帮助
您可以使用XamlBindingHelper
将string
值转换为Color
-
var color = (Color)XamlBindingHelper.ConvertValue(typeof(Color), "ORANGE");
var brush = new SolidColorBrush(color);
NewTextBlock.Foreground = brush;
使用 UWPCommunityToolkit 的颜色助手。
Color redColor = "Red".ToColor();
Color redColor = ColorHelper.ToColor("#ff3a4ab0"); //For Alpha code