SchedulerStorage.ReminderAlert Event
Occurs when a reminder alert is invoked.
Namespace: DevExpress.Xpf.Scheduler
Assembly: DevExpress.Xpf.Scheduler.v24.1.dll
NuGet Package: DevExpress.Wpf.Scheduler
Declaration
Event Data
The ReminderAlert event's data class is ReminderEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
AlertNotifications | Gets any reminders currently triggered. |
Remarks
Important
You are viewing documentation for the legacy WPF Scheduler control. If you’re starting a new project, we strongly recommend that you use a new control declared in the DevExpress.Xpf.Scheduling namespace. If you decide to upgrade an existing project in order to switch to the updated scheduler control, see the Migration Guidelines document.
A Scheduler control supports reminders for appointments. A reminder can be invoked at a specific time interval before an appointment’s start time. When the reminder alerts, the ReminderAlert event fires. Handle this event to perform specific actions when a reminder is activated. For instance, play a sound or post specific data to a database server, etc.
Note that multiple reminders can be raised at the same time. To get these reminders, use the event’s ReminderEventArgs.AlertNotifications parameter. It holds a collection of notifications represented by ReminderAlertNotification objects. Each notification refers to the associated reminder and has a ReminderBaseAlertNotification.Handled property. Setting the Handled property to true indicates that this particular reminder is handled and that no default processing is required. For instance, you can postpone a reminder via the ReminderBase.Snooze method, and then set the Handled property to true. In this case, the reminder will not be affected after completion of your event handler processing. If the Handled property is false, the reminder will be automatically switched off via the ReminderBase.Dismiss method.
If the OptionsBehavior.ShowRemindersForm property is true, a notification form is displayed when a reminder is invoked. Before the form is displayed, the SchedulerControl.RemindersFormShowing event is raised, and this allows you to display a custom form instead of a standard one.
Example
The following example demonstrates how to manually handle reminders and perform a custom action when the SchedulerStorage.ReminderAlert
event is fired.
using System;
using System.Windows;
using DevExpress.XtraScheduler;
using DevExpress.Xpf.Scheduler.UI;
// ...
private void button1_Click(object sender, RoutedEventArgs e) {
// Remove all appointments.
schedulerControl1.Storage.AppointmentStorage.Clear();
// Add a new appointment with a reminder.
schedulerControl1.Storage.AppointmentStorage.Add(CreateAppointmentWithReminder());
// Set time interval to check for active reminders to 3 seconds.
schedulerControl1.Storage.RemindersCheckInterval = 3000;
}
private Appointment CreateAppointmentWithReminder() {
// Create a new appointment and set its properties.
Appointment apt = new Appointment(DateTime.Today, TimeSpan.FromHours(1));
apt.Subject = "Test appointment";
apt.HasReminder = true;
return apt;
}
private void SchedulerStorage_ReminderAlert(object sender, ReminderEventArgs e){
RemindersForm form = new RemindersForm(schedulerControl1);
form.OnReminderAlert(e.AlertNotifications);
}