SchedulerControl.AppointmentAdding Event
Occurs before the user has added appointments to the scheduler.
Namespace: DevExpress.Xpf.Scheduling
Assembly: DevExpress.Xpf.Scheduling.v21.2.dll
NuGet Package: DevExpress.Wpf.Scheduling
Declaration
Event Data
The AppointmentAdding event's data class is AppointmentAddingEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Appointments | Provides access to the collection of appointments the user attempts to add to the scheduler. |
Cancel | Gets or sets whether the event should be canceled. Inherited from CancelRoutedEventArgs. |
CanceledAppointments | Provides access to the collection of appointments that should be excluded from being added to the scheduler. |
ConflictedAppointments | Returns the collection of appointments that are conflicting with the current appointments. |
Handled | Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. Inherited from RoutedEventArgs. |
OriginalSource | Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs. |
RoutedEvent | Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs. |
Source | Gets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs. |
The event data class exposes the following methods:
Method | Description |
---|---|
InvokeEventHandler(Delegate, Object) | When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation. Inherited from RoutedEventArgs. |
OnSetSource(Object) | When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes. Inherited from RoutedEventArgs. |
Remarks
To prevent specific appointments from being added to the scheduler, add them to the CanceledAppointments collection.
The code snippet below demonstrates how to implement custom validation:
AppointmentAdding += (d, e) => {
foreach(var apt in e.Appointments) { //each appointment which is about to be added
bool res = Validate(apt); //is validated by a custom method
if(!res) //if the validation fails
e.CanceledEditAppointments.Add(apt); //this appointment is not added to the scheduler
}
}
See Also