Преобразование строкового типа в Windows.UI.Color в универсальном приложении Windows
Я пытаюсь создать программу для анализа XML-файлов с предварительно заданным форматом и добавить некоторые элементы управления пользовательским интерфейсом на главную страницу в универсальном приложении Windows.
В какой-то части мне нужно указать цвет фона моих TextBlocks в связанном xml-файле, поэтому я ищу способ преобразования строкового атрибута, чтения из 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 ответа
Решение
Ты можешь использовать 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