[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Collapse]Xamarin Controls
  [Expand]Installation and Demos
  [Expand]Getting Started
  [Expand]Grid Elements
   Themes Overview
  [Expand]Conditional Formatting
  [Expand]End-User Interaction
  [Expand]Tips and Tricks
 [Expand]API Reference
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Themes Overview


This documentation topic describes legacy technology. We no longer develop new functionality for the GridControl and suggest that you use the new DataGridView control instead.

DevExpress provides the Light and Dark built-in themes that you can apply to GridControl to change its appearance.




(Default for iOS)
(Default for Android)

Expanded Apply Predefined Theme

The Themes class stores available theme names. To change the theme, assign Themes class's appropriate field to the ThemeManager.ThemeName property.

Expanded Customize Applied Theme

To customize the applied theme, use the ThemeBase class. It provides you with various customizers that allow you to change a theme's appearance and apply it to the grid. You can use these customizers to change background colors, fonts and others attributes of the desired grid element (header, group row and so on). For more information, see the How to: Customize Themes document.


To apply the customization, call the ThemeManager.RefreshTheme method.

To track the moment the theme changes, either handle the ThemeManager.ThemeChanged event or use the IThemeChangingHandler.OnThemeChanged method.

Expanded Define a Custom Theme

To define a custom grid theme, you can either inherit from the LightTheme or DarkTheme class, or manually implement an appropriate interface.

Is this topic helpful?​​​​​​​