In v19.1, we have introduced the new scheduler appearance style - Outlook2019, which is used by default. The Scheduler control that uses the Outlook2019 style colorizes its headers and navigation buttons. Appointments which label is set to None are now colorized with the resource color. DevExpress themes that fully support the Outlook 2019 style are listed below.
- Office2019 (White, DarkGray, Colorful, Black)
- VisualStudio2017 (Light, Dark, Blue)
- Office2016SE (White, DarkGray, Colorful, Black)
- Metropolis (Light, Dark)
- DeepBlue
In Classic mode, cells are always colorized. Headers, navigation buttons are not colorized, and appointments are not colorized with the resource color. To enable the Classic mode, set the DevExpress.Xpf.Core.CompatibilitySettings.SchedulerAppearanceStyle static property to SchedulerAppearanceStyle.Classic.
The following changes have been implemented:
- The SchedulerControl.ResourceBrushSchemas property is now obsolete. It is recommended to use the SchedulerControl.ResourceColors property instead.
ResourceBrushSchemas are used for cells colorization. If you already customized ResourceBrushSchemas, it will still work in themes listed at the beginning of this document. If the Classic mode is enabled, it will work in all themes. - The LabelColors palette now supports the Transparent color. Appointments that have the transparent label are colorized with the resource color.
- The default date header format has been changed. You can customize it using the following properties:
DayViewBase.DateHeaderUseUpperCase
DayViewBase.DateHeaderStringFormat
DayViewBase.DateHeaderStringFormats
MonthView.DateHeaderUseUpperCase
MonthView.DateHeaderStringFormat
MonthView.DateHeaderStringFormats
The scheduler resource colorization mechanism is described below:
- The ResourceItem.Color property defines the resource color and has the highest priority. If you set this property (either directly or by mapping), the SchedulerControl.ResourceBrushSchemas and SchedulerControl.ResourceColors settings are ignored.
- If you do not use the ResourceItem.Color property, then Scheduler takes a resource item color from the SchedulerControl.ResourceColors property.
You can set SchedulerControl.ResourceColors directly for all themes:
XAML<dxsch:SchedulerControl.ResourceColors>
<Color>Red</Color>
<Color>Green</Color>
</dxsch:SchedulerControl.ResourceColors>
Alternatively, you can override the ResourceColors palette for a certain theme. To do this, use the SchedulerThemeKeys.ResourceColors and SchedulerThemeKeys.ResourceColors_Classic resource keys. The SchedulerThemeKeys.ResourceColors_Classic resource key is only used in the Classic scheduler appearance style:
XAML<dxsch:ColorCollection x:Key="{dxscht:SchedulerThemeKey ResourceKey=ResourceColors, ThemeName=Office2019Colorful}">
<Color>Red</Color>
<Color>Green</Color>
</dxsch:ColorCollection>
- If you already customized ResourceBrushSchemas, it will still work in themes listed at the beginning of this document. If the Classic mode is enabled, it will work in all themes.
The scheduler appointments colorization mechanism is described below:
- The AppointmentLabelItem.Color property defines the appointment color and has the highest priority. If you set this property (either directly or by mapping), the SchedulerControl.LabelColors setting is ignored.
- If you do not use the AppointmentLabelItem.Color property, the Scheduler control takes a label color from the SchedulerControl.LabelColors palette.
You can set SchedulerControl.LabelColors directly for all themes:
XAML<dxsch:SchedulerControl.LabelColors>
<Color>Transparent</Color>
<Color>Red</Color>
</dxsch:SchedulerControl.LabelColors>
Alternatively, you can override the LabelColors palette for a certain theme. To do this, use the SchedulerThemeKeys.LabelColors and SchedulerThemeKeys.LabelColors_Classic resource keys. The SchedulerThemeKeys.LabelColors_Classic resource key is only used in the Classic scheduler appearance style:
XAML<dxsch:ColorCollection x:Key="{dxscht:SchedulerThemeKey ResourceKey=LabelColors, ThemeName=Office2019Colorful}">
<Color>Transparent</Color>
<Color>Red</Color>
</dxsch:ColorCollection>
- If the AppointmentLabelItem.Color property is set to Colors.Transparent, the appointment color is taken from the assigned resource item. If appointment has several assigned resources and SchedulerControl.GroupType is None, the appointment has the default theme background.