140 цветов SilverLight

[ratings] Сразу после релиза новой версии Visual Studio вышла новая версия SilverLight 1.1 Alpha Refresh. Именно с этой версии я решил начать свое знакомство с SilverLight. Первое впечатление было несколько негативным, так как в SilverLight не оказалось многих вещей, которые я привык использовать в полноценном WPF. Например, в этой версии отсутствуют даже стандартные контролы для интерфейса. Надеюсь, все это будет дополнено к финальной версии, но на данный момент выбор XBap или SilverLight все еще очень актуален. Но уже стало очевидно, что будущее именно за SilverLight. Уже сейчас SilverLight поддерживает не только большинство браузеров на Windows и MacOS, но и даже под Mono группа отдельных разработчиков реализовала его поддержку.

В одном из англоязычных блогов я наткнулся на таблицу цветов на Xaml, в которой перечислены цвета, которые можно использовать в коде по имени. Я решил, что она не очень удобна для использования и решил ее слегка модифицировать.

Вот что в итоге получилось: таблица

При нажатии на любой цвет фон окрасится в него.

Дополнение:
Для просмотра нужно установить Microsoft Silverlight 1.1 Alpha RefreshMac или Windows. Автоматом сейчас ставится только SilverLight 1.0 RC1.

При генерации этой таблички выяснилось, что в SilverLight отсутствует класс Brushes – набор кистей, которые можно извлекать по имени в WPF. Поэтому я создал свой класс:

//System.Windows.Media.Brushes ------ Нету в SilverLight 1.1 Alpha Refresh!
    public class SilverlightBrushes
    {
        public static string[] ColorNames = new string[141] { "AliceBlue", "AntiqueWhite", "Aqua", "AquaMarine", "Azure", "Beige", "Bisque", "Black", "BlanchedAlmond", "Blue", "BlueViolet", "Brown", "BurlyWood", "CadetBlue", "Chartreuse", "Chocolate", "Coral", "CornflowerBlue", "Cornsilk", "Crimson", "Cyan", "DarkBlue", "DarkCyan", "DarkGoldenrod", "DarkGray", "DarkGreen", "DarkKhaki", "DarkMagenta", "DarkOliveGreen", "DarkOrange", "DarkOrchid", "DarkRed", "DarkSalmon", "DarkSeaGreen", "DarkSlateBlue", "DarkSlateGray", "DarkTurquoise", "DarkViolet", "DeepPink", "DeepSkyBlue", "DimGray", "DodgerBlue", "Firebrick", "FloralWhite", "ForestGreen", "Fuchsia", "Gainsboro", "GhostWhite", "Gold", "Goldenrod", "Gray", "Green", "GreenYellow", "Honeydew", "HotPink", "IndianRed", "Indigo", "Ivory", "Khaki", "Lavender", "LavenderBlush", "LawnGreen", "LemonChiffon", "LightBlue", "LightCoral", "LightCyan", "LightGoldenrodYellow", "LightGray", "LightGreen", "LightPink", "LightSalmon", "LightSeaGreen", "LightSkyBlue", "LightSlateGray", "LightSteelBlue", "LightYellow", "Lime", "LimeGreen", "Linen", "Magenta", "Maroon", "MediumAquamarine", "MediumBlue", "MediumOrchid", "MediumPurple", "MediumSeaGreen", "MediumSlateBlue", "MediumSpringGreen", "MediumTurquoise", "MediumVioletRed", "MidnightBlue", "MintCream", "MistyRose", "Moccasin", "NavajoWhite", "Navy", "OldLace", "Olive", "OliveDrab", "Orange", "OrangeRed", "Orchid", "PaleGoldenrod", "PaleGreen", "PaleTurquoise", "PaleVioletRed", "PapayaWhip", "PeachPuff", "Peru", "Pink", "Plum", "PowderBlue", "Purple", "Red", "RosyBrown", "RoyalBlue", "SaddleBrown", "Salmon", "SandyBrown", "SeaGreen", "SeaShell", "Sienna", "Silver", "SkyBlue", "SlateBlue", "SlateGray", "Snow", "SpringGreen", "SteelBlue", "Tan", "Teal", "Thistle", "Tomato", "Transparent", "Turquoise", "Violet", "Wheat", "White", "WhiteSmoke", "Yellow", "YellowGreen" };
        public static string[] Colors = new string[141] { "#FFF0F8FF", "#FFFAEBD7", "#FF00FFFF", "#FF7FFFD4", "#FFF0FFFF", "#FFF5F5DC", "#FFFFE4C4", "#FF000000", "#FFFFEBCD", "#FF0000FF", "#FF8A2BE2", "#FFA52A2A", "#FFDEB887", "#FF5F9EA0", "#FF7FFF00", "#FFD2691E", "#FFFF7F50", "#FF6495ED", "#FFFFF8DC", "#FFDC143C", "#FF00FFFF", "#FF00008B", "#FF008B8B", "#FFB8860B", "#FFA9A9A9", "#FF006400", "#FFBDB76B", "#FF8B008B", "#FF556B2F", "#FFFF8C00", "#FF9932CC", "#FF8B0000", "#FFE9967A", "#FF8FBC8F", "#FF483D8B", "#FF2F4F4F", "#FF00CED1", "#FF9400D3", "#FFFF1493", "#FF00BFFF", "#FF696969", "#FF1E90FF", "#FFB22222", "#FFFFFAF0", "#FF228B22", "#FFFF00FF", "#FFDCDCDC", "#FFF8F8FF", "#FFFFD700", "#FFDAA520", "#FF808080", "#FF008000", "#FFADFF2F", "#FFF0FFF0", "#FFFF69B4", "#FFCD5C5C", "#FF4B0082", "#FFFFFFF0", "#FFF0E68C", "#FFE6E6FA", "#FFFFF0F5", "#FF7CFC00", "#FFFFFACD", "#FFADD8E6", "#FFF08080", "#FFE0FFFF", "#FFFAFAD2", "#FFD3D3D3", "#FF90EE90", "#FFFFB6C1", "#FFFFA07A", "#FF20B2AA", "#FF87CEFA", "#FF778899", "#FFB0C4DE", "#FFFFFFE0", "#FF00FF00", "#FF32CD32", "#FFFAF0E6", "#FFFF00FF", "#FF800000", "#FF66CDAA", "#FF0000CD", "#FFBA55D3", "#FF9370DB", "#FF3CB371", "#FF7B68EE", "#FF00FA9A", "#FF48D1CC", "#FFC71585", "#FF191970", "#FFF5FFFA", "#FFFFE4E1", "#FFFFE4B5", "#FFFFDEAD", "#FF000080", "#FFFDF5E6", "#FF808000", "#FF6B8E23", "#FFFFA500", "#FFFF4500", "#FFDA70D6", "#FFEEE8AA", "#FF98FB98", "#FFAFEEEE", "#FFDB7093", "#FFFFEFD5", "#FFFFDAB9", "#FFCD853F", "#FFFFC0CB", "#FFDDA0DD", "#FFB0E0E6", "#FF800080", "#FFFF0000", "#FFBC8F8F", "#FF4169E1", "#FF8B4513", "#FFFA8072", "#FFF4A460", "#FF2E8B57", "#FFFFF5EE", "#FFA0522D", "#FFC0C0C0", "#FF87CEEB", "#FF6A5ACD", "#FF708090", "#FFFFFAFA", "#FF00FF7F", "#FF4682B4", "#FFD2B48C", "#FF008080", "#FFD8BFD8", "#FFFF6347", "#00FFFFFF", "#FF40E0D0", "#FFEE82EE", "#FFF5DEB3", "#FFFFFFFF", "#FFF5F5F5", "#FFFFFF00", "#FF9ACD32" };

        public static Brush GetFromName(string ColorName)
        {
            Color c = new Color();
            for (int i = 0; i < 141; i++)
                if (ColorName == ColorNames[i])
                {
                    string cbytes = Colors[i];
                   
                    string a = cbytes.Substring(1, 2);
                    string r = cbytes.Substring(3, 2);
                    string g = cbytes.Substring(5, 2);
                    string b = cbytes.Substring(7, 2);
                                       
                    c = Color.FromArgb(byte.Parse(a, NumberStyles.HexNumber), byte.Parse(r, NumberStyles.HexNumber), byte.Parse(g, NumberStyles.HexNumber), byte.Parse(b, NumberStyles.HexNumber));
                }

            return new SolidColorBrush(c);
        }
   
    }

Он возвращает цвет по имени:

tb.Foreground = SilverlightBrushes.GetFromName("LightGray");

Может этот класс будет кому-то полезен.