How to: Set Default Values for a New Appointment
- 2 minutes to read
The SchedulerControl provides an SchedulerControl.InitNewAppointment event that allows you to change a newly created appointment’s default characteristics.
Specifically, you can delete a reminder which is automatically assigned to a new appointment.
This example uses the EventToCommand behavior implemented in DevExpress MVVM Framework to bind the SchedulerControl’s event to a command in a view model.
The following code implements a special EventToCommand behavior that allows you to bind an SchedulerControl.InitNewAppointment event to a Delegate Command. The delegate command is generated automatically from a public InitNewAppointment method declared in a POCO View Model view model. Instead of passing event arguments to a method in a view model, the code specifies the NewAppointmentInitConverter converter that processes event arguments.
<dxmvvm:Interaction.Behaviors>
<dxmvvm:EventToCommand EventName="InitNewAppointment" Command="{Binding InitNewAppointmentCommand}">
<dxmvvm:EventToCommand.EventArgsConverter>
<local:NewAppointmentInitConverter/>
</dxmvvm:EventToCommand.EventArgsConverter>
</dxmvvm:EventToCommand>
</dxmvvm:Interaction.Behaviors>
The NewAppointmentInitConverter converter changes the appointment’s label and removes the default reminder.
using DevExpress.Mvvm.UI;
using DevExpress.Xpf.Scheduling;
namespace CustomMvvmFormWithRecurrenceExample {
public class NewAppointmentInitConverter : EventArgsConverterBase<AppointmentItemEventArgs> {
protected override object Convert(object sender, AppointmentItemEventArgs args) {
args.Appointment.LabelId = 1;
args.Appointment.Reminders.Clear();
return args;
}
}
}