Skip to main content

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.

View Example

<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.

View Example

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;
        }
    }
}