MindFusion.Scheduling for WPF lets you associate resources with scheduled events via the Resources, Contacts, Location and Task properties of Item objects. These properties contain objects from the Resource, Contact, Location and Task classes respectively. If you need to assign a resource to schedule items, you must also add the resource to the appropriate collection in the Schedule class, namely Resources, Contacts, Locations or Tasks.
The timetable, week range and list views let you display distinct rows or columns for selected resources and to group items by their associated resources. To enable that, add the resources of interest to the appropriate resource collection of the Calendar object (that is, ItemResources, ItemContacts, ItemLocations and ItemTasks respectively) and set the Calendar.GroupType property to the appropriate value.
The class Resource is the base class of Contact, Location and Task. It defines an Id property, which must be unique among all resources in the schedule, and a pair of SaveTo and LoadFrom methods, which implement serialization.
You can define custom resources by deriving from Resource or from any of the Resource-derived classes. Custom resources are added to the schedule by adding them to the Calendar.Schedule.Resources collection. In order to enable serialization of custom resources, you have to provide a parameterless constructor and override the SaveTo / LoadFrom methods in the custom resource class. In addition you must register that class by calling Schedule.RegisterResourceClass before any deserialization code takes place.