I did try SfSchedule component and added event while creating fragment but the highlighted color disappears while navigating week and months. I have implemented this way.
private void CreateCalendarEvents()
{
ScheduleFields schedule = new ScheduleFields();
var Meetings = new ScheduleAppointmentCollection();
ScheduleAppointment meeting = new ScheduleAppointment();
Calendar calendar = Calendar.Instance;
Calendar startTimeCalendar = Calendar.Instance;
foreach (var calendarEvent in remoteData)
{
var DefaultHour = 9;
if (!string.IsNullOrEmpty(calendarEvent.start) && !string.IsNullOrEmpty(calendarEvent.end))
{
var startDate = GetDate(calendarEvent.start);
var startYear = startDate.Year;
var startMonth = startDate.Month;
var startDay = startDate.Day;
var startTime = GetDate(calendarEvent.start);
var startHour = startTime.Hour == 0 ? DefaultHour : startTime.Hour;
var startMinute = startTime.Minute;
var endDate = GetDate(calendarEvent.end);
var endYear = endDate.Year;
var endMonth = endDate.Month;
var endDay = endDate.Day;
var endTime = GetDate(calendarEvent.end);
var endHour = endTime.Hour==0 ? DefaultHour : endTime.Hour;
var endMinute = endTime.Minute;
// startTimeCalendar.Set(calendar.Get(CalendarField.Year), calendar.Get(CalendarField.Month), calendar.Get(CalendarField.Date), hour, 0);
startTimeCalendar.Set(startYear, startMonth, startDay, startHour, startMinute, 0);
meeting.StartTime = startTimeCalendar;
Calendar endTimeCalendar = Calendar.Instance;
endTimeCalendar.Set(endYear, endMonth, endDay/*calendar.Get(CalendarField.Date)*/, endHour, endMinute, 0);
meeting.EndTime = endTimeCalendar;
meeting.Color = GetColor(calendarEvent.color);
meeting.Subject = calendarEvent.title ?? "";
meeting.IsAllDay = calendarEvent.allDay;
meeting.Notes = calendarEvent.title ?? "";
Meetings.Add(meeting);
}
}
sfSchedule.Appointments = Meetings;
}