using System.Collections.Generic; namespace DevComponents.DotNetBar.Charts.Style { /// /// VisualStylesTable /// public static class VisualStylesTable { private static Dictionary _DefaultStyles = new Dictionary(); /// /// Gets the DefaultVisualStyles for specified Chart style. /// /// ChartControl Style to return. /// An instance of DefaultVisualStyle. public static DefaultVisualStyles GetStyle(ChartControlStyle style) { DefaultVisualStyles visualStyle; bool cacheStyle = true; if (style == ChartControlStyle.Metro || !StyleManager.ColorTint.IsEmpty) cacheStyle = false; if (cacheStyle == false || !_DefaultStyles.TryGetValue(style, out visualStyle)) { VisualStyleFactory factory = VisualStyleFactory.GetStyleFactory(style); visualStyle = factory.CreateStyle(); if (cacheStyle) // Do not cache Metro style _DefaultStyles.Add(style, visualStyle); } return visualStyle; } /// /// Replaces an system style with the specified visual style. /// /// ChartControlStyle to replace. /// DefaultVisualStyles to replace the system style with. public static void SetStyleFactory(ChartControlStyle style, DefaultVisualStyles visualStyle) { _DefaultStyles[style] = visualStyle; } } /// /// Defines available pre-defined ChartControl visual styles. /// public enum ChartControlStyle { /// /// Office 2010 Blue style. /// Office2010Blue, /// /// Office 2010 Silver style. /// Office2010Silver, /// /// Office 2010 Black style. /// Office2010Black, /// /// Metro Style. /// Metro } }