[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
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [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
  [Collapse]Scheduler (legacy)
     Main Features
     Included Components
   [Expand]Getting Started
   [Expand]Visual Elements
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[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)

Main Features


You are viewing documentation for the legacy WPF Scheduler control. If you're starting a new project, we strongly recommend that you use a new control declared in the DevExpress.Xpf.Scheduling namespace. If you decide to upgrade an existing project in order to switch to the updated scheduler control, see the Migration Guidelines document.

DXScheduler for WPF is the planner in the WPF controls suite, providing maximum capabilities for introducing the scheduling/calendar functionality to your WPF applications with minimal effort.

Below is a brief list of features and benefits available to you in the DXScheduler Suite for WPF.

  • Built-In Views - Day View, Work Week View, Week View, Month View (Multi-Week View), Timeline View. Read more...
  • Date Navigator - Enables end-users to navigate through dates in the scheduler. Each date selection in the date navigator automatically switches scheduler views to the most appropriate display type to show the selected date or date range. Read more...
  • Data Binding

    • Binding to a database - The scheduler can store its data in a database, so that any other data-aware control can access its data. Read more...
    • Binding to an object data source that provides the IBindingList interface - The scheduler can store and retrieve data from a list of business objects.
    • Binding in XAML via an ObjectDataProvider.
    • Unbound data - If you do not need to store your data in a database, you can load the scheduler's data in XML format.
    • Binding custom fields to an appointment - Default data fields used to manage appointments are not the only data an appointment can hold. You can specify as many fields as required. If you specify custom fields, you can allow your end-users to modify field values via custom dialogs, or initialize these fields in code. With this approach, you do not have to create any additional data storage to maintain extended data for individual appointments. Read more...


  • Appointment Features

    • Status representation - Four different time display options for the Day and Work-Week View. Read more...
    • Label representation - Eleven appointment color types to indicate an appointment's type/importance. Read more...
    • Resources - An appointment can be assigned to one or multiple resources. Read more...
    • Recurrence - Recurring appointments are an important part of any scheduling application. We provide you with a comprehensive toolset for handling recurrent appointments, series and exceptions. Read more...
    • Reminders - One or several reminders can be associated with an appointment. Read more...
    • Conflict checking - The scheduler can indicate appointment conflicts. Conflicts may arise when appointments share the same time or the same resource. The scheduler can resolve them by firing a specific event to allow a decision, and by prohibiting or allowing conflicts. Read more...
    • Filtering - Appointments can be filtered using complex criteria. Read more...
    • Show time as clock - Appointment start and end times can be shown as digital or analog clocks.
    • Start and End time suppression - Optional suppression of the start and end times of appointments.


  • Resource Features

    • Group by date - Appointments can be grouped by dates. Read more...
    • Group by resource - Appointments can be grouped by associated resources. Read more...
    • Resource images - A picture can be associated with a resource, so that it will be shown in the resource header.
    • Resource coloring - You can specify a color schema to paint the time cell area associated with a specific resource. Read more...
    • Resource filtering - It is possible to filter resources according to specified conditions. Read more...
    • Resource navigation - To allow end-users to scroll between resources, an embedded ResourceNavigator control is available. Read more...
    • Resource sharing - Multiple resources can be assigned to one appointment. This appointment will be displayed in time cells corresponding to all associated resources.


  • Customization

    • Element customization using WPF templates - The content of scheduler elements - appointments, headers, time cells etc., can be fully customized using templates. Read more...
    • Multiple built-in skins/themes.
    • Localization (adapting to different languages) - The scheduler displays text strings in dialogs and captions that can be modified or substituted with corresponding translations.
    • Set of native controls - There is also a set of editors shipped with DXScheduler - AppointmentResourceEdit, TimeZoneEdit, multiple recurrence controls e.g. WeeklyRecurrenceControl etc. So, you can easily create custom forms using native DXScheduler edit controls. Read more...
    • Custom in-place editor - You can implement a custom form and use this form as an in-place editor for appointments. This means that end-users will see your custom form instead of a simple subject editor. Read more...
    • Custom appointment editing form - You can implement a custom form and use this form instead of the default editing dialog for appointments. Read more...
  • Printing - You can compose a printable report based on scheduler data, show its print preview and specify different print settings. Additionally, a set of ready-made report layout templates is available to let you quickly create scheduler reports of different types. Read more...
  • MVVM Support - You can specify ViewModel as data context for the scheduler control and scheduler storage, and you can bind associated properties to ViewModel properties by using binding expressions in XAML.
  • Bars and Ribbon UI - Using DXBars and DXRibbon controls, you can provide end-users with the functionality for switching views, view navigation and grouping scheduler data via Bars or Ribbon UI. Read more...
  • iCalendar Support - The scheduler simplifies information transmission between different platforms by implementing iCalendar RFC 2445 standard support. This format allows you to exchange scheduling data between your application and the following calendars - Apple iCal, Lotus Notes, Google Calendar, Novell GroupWise, and Windows Calendar. Read more...
  • Time Zone Support
  • End-User Capabilities

    • Resizing and moving appointments - The scheduler provides an easy-to-use appointments arrangement mechanism, with full support for resizing and moving appointments.
    • Built-in popup menus - The scheduler implements a number of built-in context menus. All these menus are controlled by the scheduler's properties, which allow you to disable particular items or substitute a menu with your own. You can also customize these menus as required. Read more...
    • Built-in dialogs - Our scheduler control brings a complete UI into your application, since we have integrated all the dialogs needed by end-users to navigate and edit their calendars. You can also customize these dialogs as required.
    • Zooming - You can zoom in and out using standard key combinations CTRL+Add and CTRL+Subtract.
    • End-user restrictions - You can easily prevent end-users from editing (copy, delete, drag and drop) an appointment. Additionally, you can intercept these actions taken for a particular appointment, and provide a custom action instead. Read more...

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