Beispiel #1
0
        private ElementStyle GetPredefinedTileStyle(eMetroTileColor tileColor)
        {
            ElementStyle style = new ElementStyle();
            style.TextColor = System.Drawing.Color.White;
            style.PaddingTop = 4;
            style.PaddingRight = 4;
            style.PaddingBottom = 4;
            style.PaddingLeft = 4;

            if (tileColor == eMetroTileColor.Default)
            {
                style.BackColor = ColorScheme.GetColor(0x245375);
                style.BackColor2 = ColorScheme.GetColor(0x30679B);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Blue)
            {
                style.BackColor = ColorScheme.GetColor(0x4C66A8);
                style.BackColor2 = ColorScheme.GetColor(0x5B78BE);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Green)
            {
                style.BackColor = ColorScheme.GetColor(0x54AF0E);
                style.BackColor2 = ColorScheme.GetColor(0x68C210);
                style.BackColorGradientAngle = 45;
                style.Border = eStyleBorderType.Solid;
                style.BorderColor = ColorScheme.GetColor(0x65B727);
                style.BorderWidth = 1;
            }
            else if (tileColor == eMetroTileColor.Magenta)
            {
                style.BackColor = ColorScheme.GetColor(0x765594);
                style.BackColor2 = ColorScheme.GetColor(0x8562B9);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Orange)
            {
                style.BackColor = ColorScheme.GetColor(0xDF8300);
                style.BackColor2 = ColorScheme.GetColor(0xE88800);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Plum)
            {
                style.BackColor = ColorScheme.GetColor(0x6D3453);
                style.BackColor2 = ColorScheme.GetColor(0x884371);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Teal)
            {
                style.BackColor = ColorScheme.GetColor(0x45A98E);
                style.BackColor2 = ColorScheme.GetColor(0x50BB9E);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Coffee)
            {
                style.BackColor = ColorScheme.GetColor(0x734C29);
                style.BackColor2 = ColorScheme.GetColor(0x664325);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.RedOrange)
            {
                style.BackColor = ColorScheme.GetColor(0xE65E20);
                style.BackColor2 = ColorScheme.GetColor(0xEB7427);
                style.BackColorGradientAngle = 45;
                style.Border = eStyleBorderType.Solid;
                style.BorderColor = ColorScheme.GetColor(0xED823D);
                style.BorderWidth = 1;
            }
            else if (tileColor == eMetroTileColor.RedViolet)
            {
                style.BackColor = ColorScheme.GetColor(0x730046);
                style.BackColor2 = ColorScheme.GetColor(0x66003D);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Olive)
            {
                style.BackColor = ColorScheme.GetColor(0xBFBB11);
                style.BackColor2 = ColorScheme.GetColor(0xB2B010);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.DarkOlive)
            {
                style.BackColor = ColorScheme.GetColor(0x787860);
                style.BackColor2 = ColorScheme.GetColor(0x6B6B56);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Rust)
            {
                style.BackColor = ColorScheme.GetColor(0x301818);
                style.BackColor2 = ColorScheme.GetColor(0x1F0F0F);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Maroon)
            {
                style.BackColor = ColorScheme.GetColor(0x603030);
                style.BackColor2 = ColorScheme.GetColor(0x4F2828);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Yellowish)
            {
                style.BackColor = ColorScheme.GetColor(0xF2B705);
                style.BackColor2 = ColorScheme.GetColor(0xE0A904);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Blueish)
            {
                style.BackColor = ColorScheme.GetColor(0x03658C);
                style.BackColor2 = ColorScheme.GetColor(0x02587A);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.DarkBlue)
            {
                style.BackColor = ColorScheme.GetColor(0x034079);
                style.BackColor2 = ColorScheme.GetColor(0x034F96);
                style.BackColorGradientAngle = 45;
                style.Border = eStyleBorderType.Solid;
                style.BorderColor = ColorScheme.GetColor(0x1D5C96);
                style.BorderWidth = 1;
            }
            else if (tileColor == eMetroTileColor.Yellow)
            {
                style.BackColor = ColorScheme.GetColor(0xFFCA08);
                style.BackColor2 = ColorScheme.GetColor(0xFFCA08);
                style.BackColorGradientAngle = 45;
                style.TextColor = Color.Black;
            }
            else if (tileColor == eMetroTileColor.Gray)
            {
                style.BackColor = ColorScheme.GetColor(0x7B7F7E);
                style.BackColor2 = ColorScheme.GetColor(0x5E6160);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.DarkGreen)
            {
                style.BackColor = ColorScheme.GetColor(0x17934B);
                style.BackColor2 = ColorScheme.GetColor(0x1BAD5C);
                style.BackColorGradientAngle = 45;
                style.Border = eStyleBorderType.Solid;
                style.BorderColor = ColorScheme.GetColor(0x32B56D);
                style.BorderWidth = 1;
            }
            else if (tileColor == eMetroTileColor.MaroonWashed)
            {
                style.BackColor = ColorScheme.GetColor(0x965155);
                style.BackColor2 = ColorScheme.GetColor(0x8A4A4E);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.PlumWashed)
            {
                style.BackColor = ColorScheme.GetColor(0x40374C);
                style.BackColor2 = ColorScheme.GetColor(0x362E40);
                style.BackColorGradientAngle = 45;
            }
            else if (tileColor == eMetroTileColor.Azure)
            {
                style.BackColor = ColorScheme.GetColor(0x00ABDC);
                style.BackColor2 = ColorScheme.GetColor(0x00BFE3);
                style.BackColorGradientAngle = 45;
                style.Border = eStyleBorderType.Solid;
                style.BorderColor = ColorScheme.GetColor(0x1AC6E6);
                style.BorderWidth = 1;
            }

            return style;
        }
Beispiel #2
0
 /// <summary>
 /// Called when Color property has changed.
 /// </summary>
 /// <param name="oldValue">Old property value</param>
 /// <param name="newValue">New property value</param>
 protected virtual void OnTileColorChanged(eMetroTileColor oldValue, eMetroTileColor newValue)
 {
     UpdateEffectiveStyle();
     OnPropertyChanged(new PropertyChangedEventArgs("TileColor"));
 }