You have two primary options to refresh the Calendar's appointments:
1 - Reassign the ItemsSource after the new fetch
This is the easiest and most straightforward option. For example:
private void RefreshCalendar()
// get new appointments
var appts = GetUpdatedAppointments()
// Scenario 1 - Appointments are in the view model and it's bound to the Calendar in XAML (make sure you have PropertyChanged notifications wired-up)
var (MyCalendar.BindingContext as ViewModel).Appointments = appts;
// Scenario 2 - For code-behind, just reassign directly
MyCalendar.AppointmentsSource = appts;
2 - Use custom renderers to be able to call methods on the native control (via InvalidateUI on Windows, RebuildCalendar on Android and ReloadData on iOS)
This is more complex and would require either interface method implementation or Xamarin.Forms Messaging
to communicate the signal to refresh.
Let us know if you have any further questions or concerns.
Lance | Tech Support Engineer, Sr.
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Feedback Portal
and vote to affect the priority of the items