我有一个TextBox
,想知道如何在用户输入十六进制代码并点击按钮时动态更改Grid.Background
属性。
colorPlace.SetValue(BackgroundProperty, "#FFFFFFFF");
borderColor.Background = GetColor("#75ED13");
不明白GetColor
是一个类
LayoutRoot.Background = new SolidColorBrush(txtrgb.Text);
无法从'string'转换为'System.Windows.Media.Color'
答案 0 :(得分:0)
public static class ColorsHelper
{
private static readonly Dictionary<string, Color> dict =
typeof(Colors).GetProperties(BindingFlags.Public | BindingFlags.Static)
.Where(prop => prop.PropertyType == typeof(Color))
.ToDictionary(prop => prop.Name, prop => (Color)prop.GetValue(null, null));
public static Color FromName(string name)
{
return dict[name];
}
}
textBox1.Background = new SolidColorBrush(ColorsHelper.FromName(txtrgb.Text));
代码来自this link