/// <summary> /// Gets the DefaultVisualStyles for specified SuperGrid style. /// </summary> /// <param name="style">SuperGridStyle to return.</param> /// <returns>An instance of DefaultVisualStyle.</returns> public static DefaultVisualStyles GetStyle(SuperGridStyle style) { DefaultVisualStyles visualStyle; if (!_DefaultStyles.TryGetValue(style, out visualStyle)) { VisualStyleFactory factory = VisualStyleFactory.GetStyleFactory(style); visualStyle = factory.CreateStyle(); if (style != SuperGridStyle.Metro) // Do not cache Metro style _DefaultStyles.Add(style, visualStyle); } return visualStyle; }
/// <summary> /// Returns the style factory for specified visual style. /// </summary> /// <param name="style">Style to create factory for.</param> /// <returns>An instance of VisualStyleFactory.</returns> public static VisualStyleFactory GetStyleFactory(SuperGridStyle style) { if (style == SuperGridStyle.Office2010Blue) return new Office2010BlueStyleFactory(); if (style == SuperGridStyle.Office2010Silver) return new Office2010SilverStyleFactory(); if (style == SuperGridStyle.Office2010Black) return new Office2010BlackStyleFactory(); if (style == SuperGridStyle.Metro) return new MetroStyleFactory(); throw new ArgumentException(string.Format( "Specified style '{0}' factory has not been implemented.", style)); }
/// <summary> /// Replaces an system style with the specified visual style. /// </summary> /// <param name="style">SuperGridStyle to replace.</param> /// <param name="visualStyle">DefaultVisualStyles to replace the system style with.</param> public static void SetStyleFactory(SuperGridStyle style, DefaultVisualStyles visualStyle) { _DefaultStyles[style] = visualStyle; }