Appointments loaded but not rendered when using QueryAppointments with custom AppointmentViewMode

Hello Syncfusion Support Team,

I am using SfScheduler in a .NET MAUI application and I am implementing load-on-demand with QueryAppointments, combined with real-time updates (Firestore listener).

Summary of the issue

Appointments are loaded correctly into the bound collection, but they are not rendered on the Scheduler UI, even though:

  • AppointmentsSource is correctly bound

  • Appointments.Count updates correctly in the UI (verified via a Label binding)

  • StartTime, EndTime, and Subject values are valid and within the visible date range

  • No exceptions are thrown

Key observations

  • AppointmentsSource="{Binding Appointments}" is declared in XAML

  • BindingContext is correct and stable

  • The Scheduler’s AppointmentsSource reference matches the ViewModel collection instance

  • Appointments are confirmed to be added on the UI thread

  • Reassigning Scheduler.AppointmentsSource inside QueryAppointments does not resolve the issue

  • Without QueryAppointments, the Scheduler works correctly

Scheduler setup

  • SfScheduler with QueryAppointments enabled

  • Custom appointment class (AppointmentViewModel) implementing INotifyPropertyChanged

  • Explicit SchedulerAppointmentMapping is used

Example mapping:

<syncfusion:SfScheduler.AppointmentMapping>
    <syncfusion:SchedulerAppointmentMapping
        StartTime="StartTime"
        EndTime="EndTime"
        Subject="Subject"
        Background="AppointmentBackground"
        TextColorMapping="TextColor" />
</syncfusion:SfScheduler.AppointmentMapping>

AppointmentViewModel (simplified)

public class AppointmentViewModel : INotifyPropertyChanged
{
    public int Id { get; set; }
    public DateTime StartTime { get; set; }
    public DateTime EndTime { get; set; }
    public string Subject { get; set; }

    public Brush AppointmentBackground { get; set; }
    public Brush TextColor { get; set; }
}

Expected behavior

When appointments are added to the Appointments collection inside the QueryAppointments flow, they should be rendered immediately by the Scheduler.

Actual behavior

  • Collection is populated correctly

  • Scheduler UI remains empty

Questions

  1. Is there any known limitation or special requirement when using QueryAppointments with a custom appointment class?

  2. Is the Scheduler internally resetting or ignoring the AppointmentsSource after QueryAppointments completes?

  3. Is there a required call (e.g. refresh/invalidate) to force rendering when appointments are added asynchronously?

  4. Are there known issues when using QueryAppointments together with real-time data sources?

If needed, I can provide a minimal repro project.

Thank you in advance for your help.

Best regards,

George


3 Replies

HM Hadayarahman Mohamed Khan Yusuf Syncfusion Team December 23, 2025 11:47 AM UTC

Hi George,

Based on the details shared, we have analyzed the query and identified that the issue is due to an incorrect implementation of INotifyPropertyChanged. In the shared code snippet, it is implemented on the Model instead of the ViewModel, which causes incorrect binding on QueryAppointments.

To address this, we have prepared a sample where INotifyPropertyChanged is correctly implemented in the ViewModel and have attached the respective output with this ticket for your reference.

If you continue to experience the problem, we would appreciate any additional information, especially regarding the scenarios where you encounter this issue. If possible, could you kindly replicate the problem using our sample or share a sample that reproduces the issue? This would be extremely helpful for us to investigate further and ensure a comprehensive resolution.

Regards,
Hadaya Rahman M


Attachment: SchedulerSampleWithOutput_225a1a8c.zip


GE George December 24, 2025 06:59 AM UTC

Thank you for your answer.
Problem solved.



HM Hadayarahman Mohamed Khan Yusuf Syncfusion Team December 26, 2025 09:32 AM UTC

Hi George,

We are glad that your issue has been resolved! Please let us know if you need further assistance. As always, we are happy to help you out.

Regards,
Hadaya Rahman M


Loader.
Up arrow icon