I am working on a windows phone game, and I got stuck when I wanted to convert a HEX string into Color. On windows phone 8 silverlight it is not a problem but I cannot find a so
Color.FromArgb is in the Windows.UI namespace. There isn't a Color.FromName method, but you can use the Colors.< name > properties or you can use reflection to look up the name from a string.
using System.Reflection; // For GetRuntimeProperty
using System.Globalization; // For NumberStyles
using Windows.UI; // for Color and Colors
using Windows.UI.Xaml.Media; // for SystemColorBrush
// from #AARRGGBB string
byte a = byte.Parse(hexColor.Substring(1, 2),NumberStyles.HexNumber);
byte r = byte.Parse(hexColor.Substring(3, 2),NumberStyles.HexNumber);
byte g = byte.Parse(hexColor.Substring(5, 2),NumberStyles.HexNumber);
byte b = byte.Parse(hexColor.Substring(7, 2),NumberStyles.HexNumber);
Windows.UI.Color color = Color.FromArgb(a, r, g, b);
Windows.UI.Xaml.Media.SolidColorBrush br = new SolidColorBrush(color);
// From Name
var prop = typeof(Windows.UI.Colors).GetRuntimeProperty("Aqua");
if (prop != null)
{
Color c = (Color) prop.GetValue(null);
br = new SolidColorBrush(c);
}
// From Property
br = new SolidColorBrush(Colors.Aqua);