2017-07-01 4 views
2

J'essaie de créer un programme pour analyser les fichiers XML au format prédéfini et ajouter des contrôles d'interface utilisateur à mon MainPage dans Windows Universal Application.Conversion de type de chaîne à Windows.UI.Color Dans Windows Universal App

En partie, j'ai besoin de spécifier la couleur d'arrière-plan de mes TextBlocks dans le fichier xml, donc je cherche un moyen de convertir l'attribut chaîne, lire depuis xml et le convertir en valeur Windows.UI.Color .

ici est mon fichier xml et mon code C# pour ajouter le contrôle

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

Merci pour l'aide

Répondre

4

Vous pouvez utiliser XamlBindingHelper à convertir la valeur string en Color -

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

cette solution a fonctionné comme je voulais ... –

+0

@ D.Ghiaseddin, si cela fonctionne pour vous, s'il vous plaît accepter comme réponse. –

2

Utilisez Colors Helper de UWPCommunityToolkit.

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

Site est cassé .... – Hetal

+0

@Hetal Mis à jour le lien –