public IEnumerable AppointmentItemsSource {get; set;}
While any IEnumerable implementation can serve as a valid items source, some functionality may not be available depending on the implementation.
For example, if the specified item source does not implement the IList interface, appointments cannot be added or removed, since the IEnumerable interface alone does not provide a way to modify the contents of the underlying list.
Furthermore, the IList implementation must allow for content modification, i.e., it's IsFixedSize and IsReadOnly properties must return true.
Also note that because the IList interface does not provide support for content modification notifications, external changes to the item source will not be recognized by the data source, resulting in synchronization issues.
If the application requires that external changes to the item source be synchronized with the data source, it is necessary to use a class which implements the INotifyCollectionChanged interface, such as ObservableCollection<T>.
In cases where the names or types of the data object properties which are bound to appointment properties are disparate, use the AppointmentPropertyMappings collection to provide a mapping between the data object and appointment.
When an element in the item source cannot yield successful creation of an appointment object, the ScheduleDataSource.DataError event occurs, providing a detailed description of the direct cause of the rejection. This event can be useful during debugging sessions.
Target Platforms: Android 4.4+, iOS 8+
Development Environments: Visual Studio 2015+, Visual Studio for Mac Preview, Xamarin for Visual Studio 4.2+