动态更改网格的背景属性

时间:2014-03-01 09:20:06

标签: c# xaml windows-phone-8

我有一个TextBox,想知道如何在用户输入十六进制代码并点击按钮时动态更改Grid.Background属性。

colorPlace.SetValue(BackgroundProperty, "#FFFFFFFF");

borderColor.Background = GetColor("#75ED13");

不明白GetColor是一个类

的方法
LayoutRoot.Background = new SolidColorBrush(txtrgb.Text);
  

无法从'string'转换为'System.Windows.Media.Color'

1 个答案:

答案 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