[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
  Prerequisites
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
   Reporting
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Collapse]Scheduler
   [Expand]Getting Started
   [Expand]Appointments
    Resources
    Reminders
    Time Regions
   [Expand]Views
   [Expand]Visual Elements
   [Expand]Styles and Templates
   [Expand]Design-Time Features
    Time Zones
   [Expand]Data Binding
    Appearance Customization
    Grouping
    Selecting
    Clipboard Operations
    Printing Templates
    Drag and Drop Customization
    Navigating
    Printing
    End-User Restrictions
   [Expand]Examples
    Migration Guidelines
  [Expand]Spreadsheet
  [Expand]Rich Text Editor
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Printing-Exporting
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Gantt Control
  [Expand]Diagram Control
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Expand]Scheduler (legacy)
 [Expand]Scaffolding Wizard
 [Expand]Localization
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Appearance Customization

Expanded How Elements are Colorized

Starting with v19.1, the Scheduler uses the new Outlook2019 UI style.

In v18.2 and earlier, the Scheduler's UI style uses a fixed color scheme based on the theme. The new Outlook2019 style uses resource colors and derived colors to paint the Scheduler's elements. This improves readability and facilitates customization.

Modern Themes

  • Office2019 (White, DarkGray, Colorful, Black)
  • VisualStudio2017 (Light, Dark, Blue)
  • Office2016SE (White, DarkGray, Colorful, Black)
  • Metropolis (Light, Dark)
  • DeepBlue

In the themes listed above, resource and derived colors are used to paint resource headers, date headers, and navigation buttons.

An appointment's color depends on its label color. If the label color is set to transparent, the appointment has the same color as its resource.

Tip

The default None label is transparent in modern themes.

Classic Themes

  • DXStyle
  • LightGray
  • Office2013 (DarkGray, LightGray)
  • Office2010 (Black, Blue, Silver)
  • Office2007 (Black, Blue, Silver)
  • Seven
  • VS2010

In the themes listed above resource colors and derived colors are used to paint time slots.

The color of an appointment corresponds to its label color. If the label color is set to transparent, the appointment has the same color as its resource.

Expanded Brushes and Customization

The following properties allow you to explicitly set brushes used to paint scheduler resources, labels, and statuses:

Brush Palette

You can use the SchedulerControl.BrushSet property to define a custom set of brushes. See the example below.

You can then use the properties listed below to access a brush from SchedulerControl.BrushSet by its Name value:

The Brush properties have a higher priority than the BrushName properties. If both are specified, the Brush property value is used.

DefaultBrushNames

The static DefaultBrushNames (see DefaultBrushNames) class contains names of default brushes. These brushes are theme-dependent.

The XAML snippet below illustrates how to assign a theme-dependent brush to a label item:

You can redefine the default brushes for all themes as shown in the XAML snippet below:

The images below illustrate the result of this customization.

Customize Specific Themes

You can associate the brush set with a specific theme and style. The example below illustrates how to configure brush sets for the Office2019Colorful and Office2019Black themes.

Expanded Brush Provider

The BrushProvider (see BrushProvider) stores colorization settings for all Scheduler elements.

The BrushProvider implementation is unique for each theme. DevExpress themes are located in the C:\Program Files (x86)\DevExpress 19.2\Components\Sources\DevExpress.Xpf.Themes\ directory. To access the default BrushProvider implementation, locate the \Scheduling\Generic\DefaultBrushProvider.xaml file within a theme directory.

If the SchedulerControl.GroupType property is set to None, BrushProvider (see BrushProviderBase) properties with the Default prefix define the brush used to paint the Scheduler elements.

BrushProviderBase.DefaultHeaderForeground

BrushProviderBase.DefaultHeaderBackground

BrushProviderBase.DefaultHeaderBorderBrush

BrushProviderBase.DefaultHeaderTodayForeground

BrushProviderBase.DefaultHeaderTodayBackground

BrushProviderBase.DefaultHeaderTodayBorderBrush

BrushProviderBase.DefaultNavigationButtonNormalForeground

BrushProviderBase.DefaultNavigationButtonNormalBackground

BrushProviderBase.DefaultNavigationButtonNormalBorderBrush

BrushProviderBase.DefaultNavigationButtonHoverForeground

BrushProviderBase.DefaultNavigationButtonHoverBackground

BrushProviderBase.DefaultNavigationButtonHoverBorderBrush

BrushProviderBase.DefaultNavigationButtonPressedForeground

BrushProviderBase.DefaultNavigationButtonPressedBackground

BrushProviderBase.DefaultNavigationButtonPressedBorderBrush

BrushProviderBase.DefaultNavigationButtonDisabledBackground

BrushProviderBase.DefaultNavigationButtonDisabledBorderBrush

BrushProviderBase.DefaultLightCellBackground

BrushProviderBase.DefaultLightCellLightBorderBrush

BrushProviderBase.DefaultLightCellDarkBorderBrush

BrushProviderBase.DefaultDarkCellBackground

BrushProviderBase.DefaultDarkCellLightBorderBrush

BrushProviderBase.DefaultDarkCellDarkBorderBrush

BrushProviderBase.DefaultLabelBrush

If the SchedulerControl.GroupType property is set to GroupByResource or GroupByDate, the BrushProvider (see BrushProviderBase) properties of the IBrushTransform (see IBrushTransform) type define the transformations of the default brushes.

BrushProviderBase.ResourceHeaderForeground

BrushProviderBase.ResourceHeaderBackground

BrushProviderBase.ResourceHeaderBorderBrush

BrushProviderBase.ResourceHeaderTodayForeground

BrushProviderBase.ResourceHeaderTodayBackground

BrushProviderBase.ResourceHeaderTodayBorderBrush

BrushProviderBase.ResourceNavigationButtonNormalForeground

BrushProviderBase.ResourceNavigationButtonNormalBackground

BrushProviderBase.ResourceNavigationButtonNormalBorderBrush

BrushProviderBase.ResourceNavigationButtonHoverForeground

BrushProviderBase.ResourceNavigationButtonHoverBackground

BrushProviderBase.ResourceNavigationButtonHoverBorderBrush

BrushProviderBase.ResourceNavigationButtonPressedForeground

BrushProviderBase.ResourceNavigationButtonPressedBackground

BrushProviderBase.ResourceNavigationButtonPressedBorderBrush

BrushProviderBase.ResourceNavigationButtonDisabledBackground

BrushProviderBase.ResourceNavigationButtonDisabledBorderBrush

BrushProviderBase.ResourceLightCellBackground

BrushProviderBase.ResourceLightCellLightBorderBrush

BrushProviderBase.ResourceLightCellDarkBorderBrush

BrushProviderBase.ResourceDarkCellBackground

BrushProviderBase.ResourceDarkCellLightBorderBrush

BrushProviderBase.ResourceDarkCellDarkBorderBrush

BrushProviderBase.ResourceLabelBrush

If the SchedulerControl.GroupType property is set to None, appointments that have multiple associated resources and a transparent label are painted with the BrushProviderBase.DefaultLabelBrush.

Customization

Use the SchedulerControl.BrushProvider property to add customizations that override the default BrushProvider values in all themes. The Scheduler provides the following predefined transformations:

The example below shows how to override a default brush in all themes.

The example below shows how to override a default brush and its transformation in the DXStyle theme.

The BrushProvider supports conditions. The following example illustrates how to override a brush transformation in the Timeline view:

Expanded The Classic (Legacy) Style

The Classic Scheduler UI style is used in v18.2 and earlier.

To roll back to the Classic style, set the CompatibilitySettings.SchedulerAppearanceStyle static property to SchedulerAppearanceStyle.Classic.

The Classic style has its own resource keys for resource and label palettes.

Element

Resource key

Resources

SchedulerThemeKeys.ResourceColors_Classic

Labels

SchedulerThemeKeys.LabelColors_Classic

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