[Scheduler] Disable interaction and allow navigation

1 Answer 8 Views
Scheduler
Jonathan
Top achievements
Rank 1
Jonathan asked on 19 Jun 2025, 08:09 AM

Hi,

Is it possible to completely disable interaction while still allowing navigation on the scheduler?

I'm using custom appointments that are based on an abstract class, and when I tap on a slot, I get an exception because it can't create an appointment because the class is abstract.

I don't want to create appointments or edit them, I just want to display them and keep my class abstract

Thanks

1 Answer, 1 is accepted

Sort by
0
Didi
Telerik team
answered on 19 Jun 2025, 09:23 AM

Hi Jonathan,

You can achieve a "read-only" Scheduler experience by disabling all user interactions related to appointment creation, editing, and selection, while still allowing navigation between views (such as switching months or weeks). Here’s how you can do this:

1. Prevent Appointment Dialog Opening

Handle the DialogOpening event and set e.Cancel = true to prevent any dialogs from opening when users tap on slots or appointments. This stops the Scheduler from attempting to instantiate your abstract appointment class.

private void Scheduler_DialogOpening(object sender, Telerik.Maui.Controls.Scheduler.DialogOpeningEventArgs e)
{
    // Prevent opening of creation/edit dialogs
    e.Cancel = true;
}

Attach this handler in your XAML or code-behind:

<telerik:RadScheduler DialogOpening="Scheduler_DialogOpening" ... />

The events are described here: https://docs.telerik.com/devtools/maui/controls/scheduler/built-in-dialogs#events 

2. Appointment Tapped

If you want to display some additional note when tapping on the appointment handle the AppointmentTapped event:

private void Scheduler_AppointmentTapped(object sender, Telerik.Maui.Controls.Scheduler.AppointmentTappedEventArgs e)
{
    // you can add additional logic here
}

Attach this handler as well:

<telerik:RadScheduler AppointmentTapped="Scheduler_AppointmentTapped" ... />

3. Custom Appointments and Data Binding

The Scheduler requires concrete appointment objects to display data. If you need additional properties, you have to create a custom class that inherits from Telerik.Maui.Controls.Scheduler.Appointment rather than using an abstract class. An example can be found here: https://docs.telerik.com/devtools/maui/knowledge-base/custom-appointment-scheduler-net-maui  

This is the option I can suggest. Hope it will be of help.

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Tags
Scheduler
Asked by
Jonathan
Top achievements
Rank 1
Answers by
Didi
Telerik team
Share this question
or