Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

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