在Silverlight中循环浏览画笔以获得所有可能的颜色

时间:2013-10-11 14:15:52

标签: c# wpf silverlight brushes

我有一个类用于上一个项目,我已经循环了WPF应用程序中的所有可用颜色,如下所示;

public class ListOfColors
    {
        public List<ComboBoxItem> SelectableColours;
        private PropertyInfo[] _propInfo;
        public List<ComboBoxItem> GetListOfColours()
        {
            List<ComboBoxItem> SelectableColours = new List<ComboBoxItem>();
            Type brushesType = typeof(Brushes);

            PropertyInfo[] colors = brushesType.GetProperties();
            _propInfo = colors;


            foreach (var color in colors)
            {
                ComboBoxItem colour = new ComboBoxItem();
                colour.Content = color.Name;
                SelectableColours.Add(colour);
            }

            return SelectableColours;
        }
    }

这适用于我的WPF应用程序,但现在我试图在silverlight项目中复制相同的东西,但它说我缺少使用指令或程序集引用。我试图添加System.Windows.Media引用,但它仍然说我错过了它。

我是否缺少一个步骤或者我必须回到不同的类型,我尝试使用Colors作为类型,但这会带回有限数量的颜色,总共15个; < / p>

Type brushesType = typeof(Colors);

1 个答案:

答案 0 :(得分:1)

Silverlight没有Brushes类,正如您所注意到的,Colors类的数量有限。

我建议您创建自己的Colors版本,其中包含所有内容。

请参阅:http://lotsacode.wordpress.com/2010/02/27/translating-c-color-to-silverlight-color/