【问题标题】:Converting String Type To Windows.UI.Color In Windows Universal App在 Windows 通用应用程序中将字符串类型转换为 Windows.UI.Color
【发布时间】:2017-07-01 12:09:26
【问题描述】:

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

在某些地方,我需要在相关的 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);
}

感谢帮助

【问题讨论】:

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


    【解决方案1】:

    您可以使用XamlBindingHelper 将string 值转换为Color -

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

    【讨论】:

    • @D.Ghiaseddin,如果它适合你,请接受它作为答案。
    【解决方案2】:

    使用 UWPCommunityToolkit 的Colors Helper。

    Color redColor = "Red".ToColor();
    Color redColor = ColorHelper.ToColor("#ff3a4ab0");    //For Alpha code
    

    【讨论】:

    • @Hetal 更新了链接
    猜你喜欢
    • 2014-11-29
    • 2018-10-22
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    相关资源
    最近更新 更多