yangyin
2024-10-22 90573e299e2eea301a0ad8585a7e6b95d7a798bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
namespace System.Windows.Forms
{
    public class Theme
    {
        #region public static Properties
        private static Theme _Default;
        /// <summary>
        /// Gets the standard (global, if not defined otherwise on the Ribbon) Ribbon Theme.
        /// </summary>
        public static Theme Standard
        {
            get
            {
                if (_Default == null)
                {
                    _Default = new Theme();
                }
                return _Default;
            }
        }
 
        /// <summary>
        /// If this value is set all ribbons will use the same theme.
        /// Otherwise different themes can be applied to multiple ribbon instances, e.g. RibbonDemo!
        /// </summary>
        public static bool StandardThemeIsGlobal { get; set; } = true;
 
        #endregion
 
        #region Constructor
 
        public Theme()
        {
        }
 
        public Theme(RibbonOrbStyle style)
        {
            Style = style;
        }
 
        public Theme(RibbonOrbStyle style, RibbonTheme theme)
           : this(style)
        {
            RibbonTheme = theme;
        }
 
        public Theme(RibbonOrbStyle style, RibbonProfesionalRendererColorTable colorTable)
           : this(style)
        {
            RendererColorTable = colorTable;
        }
 
        #endregion
 
        #region Properties
 
        public RibbonProfesionalRendererColorTable RendererColorTable { get; set; } = new RibbonProfesionalRendererColorTable();
 
        public RibbonOrbStyle Style { get; set; }
 
        private RibbonTheme _Theme = RibbonTheme.Normal;
        public RibbonTheme RibbonTheme
        {
            get => _Theme;
            set
            {
                _Theme = value;
                if (_Theme == RibbonTheme.Blue || _Theme == RibbonTheme.Normal)
                    RendererColorTable = new RibbonProfesionalRendererColorTable();
                else if (_Theme == RibbonTheme.Black)
                    RendererColorTable = new RibbonProfesionalRendererColorTableBlack();
                else if (_Theme == RibbonTheme.Blue_2010)
                    RendererColorTable = new RibbonProfesionalRendererColorTableBlue2010();
                else if (_Theme == RibbonTheme.Green)
                    RendererColorTable = new RibbonProfesionalRendererColorTableGreen();
                else if (_Theme == RibbonTheme.Purple)
                    RendererColorTable = new RibbonProfesionalRendererColorTablePurple();
                else if (_Theme == RibbonTheme.JellyBelly)
                    RendererColorTable = new RibbonProfesionalRendererColorTableJellyBelly();
                else if (_Theme == RibbonTheme.Halloween)
                    RendererColorTable = new RibbonProfesionalRendererColorTableHalloween();
                else if (_Theme == RibbonTheme.VSLight)
                    RendererColorTable = new RibbonProfesionalRendererColorTableVSLight();
                else if (_Theme == RibbonTheme.VSDark)
                    RendererColorTable = new RibbonProfesionalRendererColorTableVSDark();
            }
        }
 
        #endregion
 
        #region Compatiblity to Release 7 Oct 2013
 
        [Obsolete("Either create a theme for your Ribbon or use 'Standard' instance!")]
        public static RibbonProfesionalRendererColorTable ColorTable
        {
            get => Standard.RendererColorTable;
            set => Standard.RendererColorTable = value;
        }
 
        [Obsolete("Either create a theme for your Ribbon or use 'Standard' instance!")]
        public static RibbonOrbStyle ThemeStyle
        {
            get => Standard.Style;
            set => Standard.Style = value;
        }
 
        [Obsolete("Either create a theme for your Ribbon or use 'Standard' instance!")]
        public RibbonTheme ThemeColor
        {
            get => Standard.RibbonTheme;
            set => Standard.RibbonTheme = value;
        }
 
        #endregion Compatiblity to Release 7 Oct 2013
    }
}