Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]Welcome to DevExpress .NET Documentation
[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]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
   Reporting
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Expand]Scheduler
  [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]Diagram Control
  [Collapse]Scheduler (legacy)
   [Expand]Overview
   [Expand]Getting Started
   [Collapse]Fundamentals
    [Expand]Scheduler Elements
    [Expand]Appointments
     Resources
    [Expand]Views
     Pop-up Menus
    [Collapse]Data Binding
      Microsoft Access Database
      Microsoft SQL Server
      Collection of Custom Objects
      XPO (eXpress Persistent Objects)
      Entity Framework Code First
      Observable Collection
    [Expand]Mappings
    [Expand]Supported Formats
    [Expand]Styles and Templates
     Services
     Time Zones
    [Expand]Printing
     Product Class Structure
     Scheduling Basics
   [Expand]Visual Elements
   [Expand]Examples
 [Expand]Scaffolding Wizard
 [Expand]Localization
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Collection of Custom Objects

Note

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.

The Scheduler can be bound to a collection of custom objects. This document contains a brief overview of collection types, and contains an example of code that is used to implement appointment and resource objects.

A Scheduler Storage can be bound to a System.ComponentModel.BindingList<T> class instance (a generic collection that supports data binding), or a System.Collections.ObjectModel.ObservableCollection<T> class instance (a dynamic data collection that provides notifications). When you consider the type of an item in a collection, make sure that its properties can be mapped to Scheduler Storage fields in a straightforward way (i.e., the property value type must correspond to the data type used in the mapping). This rule prohibits the use of the System.Collections.ObjectModel.ObservableCollection<DevExpress.XtraScheduler.IAppointment> collection as the data source because the AppointmentMappingInfo.RecurrenceInfo mapping requires a mapped field of the string type, not the RecurrenceInfo data type. Review the code snippet below for information on the data types required for specific mappings.

For an example of the Scheduler bound to an observable collection, review the Observable Collection document.

The following code demonstrates how to implement a custom appointment and resource objects.

Show Me

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=T103885.

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