Migrate from Xamarin.Forms SfSchedule to .NET MAUI SfScheduler

20 Sep 202324 minutes to read

To make the migration from the Xamarin Xamarin SfSchedule to .NET MAUI SfScheduler easier, most of the APIs from the Xamarin SfSchedule were kept in the.NET MAUI SfScheduler. However, to maintain the consistency of API naming in the.NET MAUI SfScheduler, some of the APIs have been renamed. Please find the difference in the following topics.

Namespaces

Xamarin SfSchedule .NET MAUI SfScheduler
Syncfusion.SfSchedule.XForms Syncfusion.Maui.Scheduler

Initialize control

To initialize the control, import the scheduler namespace and initialize SfScheduler as shown in the following code sample.

Xamarin SfSchedule .NET MAUI SfScheduler
<ContentPage
xmlns:schedule="clr-namespace:Syncfusion.SfSchedule.XForms;assembly=Syncfusion.SfSchedule.XForms">

    <schedule:SfSchedule/>

</ContentPage>
using Syncfusion.SfSchedule.XForms;
...

SfSchedule schedule = new SfSchedule ();
this.Content = schedule;
<ContentPage
xmlns:scheduler="clr-namespace:Syncfusion.Maui.Scheduler;assembly=Syncfusion.Maui.Scheduler">

    <scheduler:SfScheduler />

</ContentPage>
using Syncfusion.Maui.Scheduler;


SfScheduler scheduler = new SfScheduler();
this.Content = scheduler;

Classes

Xamarin SfSchedule .NET MAUI SfScheduler Description

AppointmentStyle

SchedulerTextStyle

Gets or sets properties which allows to customize the scheduler text style of the SfScheduler.

CellStyle

SchedulerMonthCellStyle

Gets or sets properties which allows to customize the month cell in month view style of the SfScheduler.

CellTappedEventArgs

SchedulerTappedEventArgs

Provides data for cell tapped event.

DaysViewSettings

SchedulerDaysView

Represents a class which is used to configure all the properties of day, week and workweek views of the SfScheduler.

HeaderStyle

SchedulerHeaderView

Represents a class which is used to customize all the properties of header settings of the SfScheduler.

MonthViewCellStyle

SchedulerMonthCellStyle

Gets or sets properties which allows to customize the month cell in month view style of the SfScheduler.

MonthViewSettings

SchedulerMonthView

Represents a class which is used to configure all the properties of Month view.

NonAccessibleBlock

SchedulerTimeRegion

Defines the time region in the scheduler.

RecurrenceProperties

SchedulerRecurrenceInfo

Represents a class which allows to create recurrence rule for an scheduler appointment.

ScheduleAppointment

SchedulerAppointment

Represents a class which defines the scheduler appointment properties of the scheduler.

ScheduleAppointmentMapping

SchedulerAppointmentMapping

Represents a class which is used to mapping the properties for an Scheduler Appointment.

ScheduleHelper

SchedulerRecurrenceManager

Represents a helper for handling the recurrence appointments.

TimelineViewSettings

SchedulerTimelineView

Represents a class which is used to configure all the properties of timeline day, timeline week, timeline workweek and timeline month views of the SfScheduler.

TimeRegionSettings

SchedulerTimeRegion

Represents a class which is used to highlight time slots on day, week, workweek and timeline day, timeline week and timeline workweek based on start and end time and also used to restrict interaction on time slots.

ViewHeaderStyle

ViewHeaderSettings

Represents a class which is used to customize all the properties of view header in the SfScheduler.

ViewHeaderTappedEventArgs

SchedulerTappedEventArgs

Provides data for view header tapped event.

VisibleDatesChangedEventArgs

SchedulerViewChangedEventArgs

Provides data for scheduler view changed event.

WeekLabelSettings

SchedulerDaysView

Represents a class which is used to configure all the properties of day, week and workweek views of the SfScheduler.

WeekNumberStyle

SchedulerWeekNumberStyle

Gets or sets properties which allows to customize the week number style of the SfScheduler.

WeekViewSettings

SchedulerDaysView

Represents a class which is used to configure all the properties of day, week and workweek views of the SfScheduler.

WorkWeekLabelSettings

SchedulerDaysView

Represents a class which is used to configure all the properties of day, week and workweek views of the SfScheduler.

WorkWeekViewSettings

SchedulerDaysView

Represents a class which is used to configure all the properties of day, week and workweek views of the SfScheduler.

DayLabelSettings

SchedulerDaysView

Represents a class which is used to configure all the properties of day, week and workweek views of the SfScheduler.

MonthLabelSettings

SchedulerMonthView

Represents a class which is used to configure all the properties of Month view.

TimelineLabelSettings

SchedulerTimelineView

Represents a class which is used to configure all the properties of timeline day, timeline week, timeline workweek and timeline month views of the SfScheduler.

AppointmentLoadedEventArgs

AppointmentTemplate

(From DaysView, TimelineView, and MonthView)
Gets or sets the appointment template to customize the default UI.

MonthInlineAppointmentLoadedEventArgs

AppointmentTemplate

(From MonthView)
Gets or sets the appointment template to customize the default UI.

MonthInlineAppointmentTappedEventArgs

SchedulerTappedEventArgs

Occurs when the user clicks or touch on the scheduler elements.

MonthInlineLoadedEventArgs

AppointmentTemplate

(From MonthView)
Gets or sets the appointment template to customize the default UI.

MonthCellLoadedEventArgs

CellTemplate

Gets or sets the month cell template or template selector.

MonthInlineViewStyle

SchedulerAgendaView

Represents a class which is used to configure all the properties of agenda view in the SfScheduler.

AgendaViewStyle

SchedulerAgendaView

Represents a class which is used to configure all the properties of agenda view in the SfScheduler.

SelectionStyle

Nil Not Supported.

DragDropSettings

DragDropSettings

Represent drag-and-drop settings to customize the drag-and-drop operations of appointments in scheduler.

Properties

SfSchedule

The following code example, explains how to initialize the properties of the Xamarin SfSchedule and .NET MAUI SfScheduler class.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule ScheduleView="DayView" 
                     FirstDayOfWeek="3"/>
SfSchedule schedule = new SfSchedule();
schedule.ScheduleView = ScheduleView.DayView;
schedule.FirstDayOfWeek = 3;
this.Content = schedule;
<scheduler:SfScheduler  View="Week"
                        FirstDayOfWeek="Tuesday"/>
SfScheduler scheduler = new SfScheduler();
scheduler.View = ScheduleView.Week;
scheduler.FirstDayOfWeek = DayOfWeek.Tuesday;
this.Content = scheduler;
Xamarin SfSchedule .NET MAUI SfScheduler Description

AppointmentMapping

AppointmentMapping

Gets or sets the custom object configuration mapping information.

AppointmentStyle

AppointmentTextStyle

Gets or sets the style of appointment text, that used to customize the text color, font, font size, font family and font attributes.

AppointmentTemplate

AppointmentTemplate

(From DaysView, TimelineView, and MonthView)
Gets or sets the appointment template to customize the default UI.

DataSource

AppointmentsSource

Gets or sets the value which used to set the appointment collection to the scheduler.

DayViewSettings

,

WeekViewSettings

,

WorkWeekViewSettings

DaysView

Gets or sets the properties which allows to customize the day, week and work week view of the scheduler.

MonthViewSettings

MonthView

Gets or sets properties which allows to customize the month view of the scheduler.

TimelineViewSettings

TimelineView

Gets or sets the properties which allows to customize the timeline day, timeline week and timeline work week and timeline month views of the scheduler.

FirstDayOfWeek

FirstDayOfWeek

Gets or sets the day to change the default first day of week in the SfScheduler.

HeaderStyle

HeaderVIew

Gets or sets the properties which allows to customize the scheduler header of day, week and work week, month, timeline day, timeline week, timeline work week, and timeline month views of the scheduler.

HeaderHeight

Height

(From HeaderView)
Gets or sets the header height to customize the default height property of the header in the scheduler.

Locale

Application culture can be changed by setting CurrentUICulture. in App.xaml.cs file. To localize the schedule default strings with given language..

MaxDisplayDate

MaximumDateTime

Gets or sets the maximum display date to restrict the visible dates in the SfScheduler.

MinDisplayDate

MinimumDateTime

Gets or sets the minimum display date to restrict the visible dates in the SfScheduler.

MonthCellStyle

CellStyle

(From MonthView)
Gets or sets the style of month cell, that used to customize the background, today background, leading month cell background, trailing month cell background and text color, font, font size, font family, font attributes of normal month cell, leading month cell and trailing month cell.

MoveToDate

DisplayDate

Gets or sets the display date to programmatically navigate the dates in the scheduler.

ScheduleHeaderDateFormat

TextFormat

(From HeaderView)
Gets or sets the text format to customize the default text format property of the header in the scheduler..

ScheduleView

View

Gets or sets the built in views such as day, week, work week, month, timeline day, timeline week, timeline work week, and timeline month views of the SfScheduler.

SelectedDate

SelectedDate

Gets or sets the Selected Date property for scheduler to select a particular date or time slot programmatically.

ShowCurrentTimeIndicator

ShowCurrentTimeIndicator

(From DaysView ,TimelineView)
Gets or sets a value indicating whether the visibility of current time indicator.

SpecialTimeRegions

TimeRegions

(From DaysView ,TimelineView)
Gets or sets to defines the collection of special time region in the time slot views of the scheduler.

TimeInterval

TimeInterval

(From DaysView ,TimelineView)
Gets or sets the time interval between the time slots in the time slot views of the scheduler.

TimeIntervalHeight

TimeIntervalHeight

(From DaysView),

TimeIntervalWidth

(From TimelineView)
Gets or sets the height for each time slot cell to layout within this in day, week, and work week views of the scheduler.

TimeZone

TimeZone

Gets or sets the Time zone to customize the default time zone property of scheduler with particular time zone.

ViewHeaderHeight

Height

(ViewHeaderSettings from DaysView, MonthView, TimelineView)
Gets or sets the properties which allows to customize the height of view header in the scheduler.

ViewHeaderStyle

DateTextStyle

,

DayTextStyle

(From ViewHeaderSettings of DaysView, MonthView, TimelineView)
Gets or sets the properties which allows to customize all the properties of view header in the scheduler.

AppointmentViewLayout

AppointmentTemplate

(From DaysView, TimelineView, and MonthView)
Gets or sets the appointment template to customize the default UI.

VerticalLineColor

CellBorderBrush

Gets or sets the color that describes the cell border color value.

SelectionView

CellBorderBrush

Gets or sets the color that describes the cell border color value.

SelectionStyle

CellBorderBrush

Gets or sets the color that describes the cell border color value.

ShowAppointmentsInline

You can use

AgendaView

instead of InlineView in the scheduler.
Gets or sets properties which allows to customize the agenda view of the SfScheduler.

MonthCellViewLayout

CellTemplate

Gets or sets the month cell template or template selector.

InlineView

AgendaView

Gets or sets properties which allows to customize the agenda view of the SfScheduler.

EnableNavigation

Nil Not supported.

TimeSlotBorderStrokeWidth

Nil Not supported.

VerticalLineStrokeWidth

Nil Not supported.
Nil

CalendarType

Gets or sets the calendar system to use.The default value is Gregorian.

AllowAppointmentDrag

AllowAppointmentDrag

Get or set a value indicating whether the schedule can allow the appointment to drag or not on the view.

DragDropSettings

DragDropSettings

Get or set the drag and drop settings to customize the appointment position, dragging indicator style, navigation, and time indicator format.

Scheduler Resource

The following code example explains how to add the scheduler resource in the Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<syncfusion:SfSchedule
          x:Name="schedule"
          ScheduleView="WeekView" 
          ShowResourceView="True">
          <syncfusion:SfSchedule.ScheduleResources>
               <syncfusion:ScheduleResource 
                    Name="Brooklyn" 
                    Id="5601" 
                    Color="#FF3399" />
          </syncfusion:SfSchedule.ScheduleResources>
</syncfusion:SfSchedule>
// Creating an instance for the schedule resource collection.
ObservableCollection<object> resources = new ObservableCollection<object>();

// Adding the schedule resource in the schedule resource collection.
resources.Add(new ScheduleResource() 
{ 
     Name = "Brooklyn", 
     Id = 5601, 
     Color = Color.FromHex("#FF3399") 
});
	
// Adding the schedule resource collection to the schedule resources of the SfSchedule.
schedule.ScheduleResources = resources;
	
//Creating an instance for the schedule appointment collection.
ScheduleAppointmentCollection scheduleAppointmentCollection = new ScheduleAppointmentCollection();
//Adding schedule appointment in the schedule appointment collection.  
scheduleAppointmentCollection.Add(new ScheduleAppointment()
{
     StartTime = new DateTime(2019, 05, 08, 10, 0, 0),
     EndTime = new DateTime(2019, 05, 08, 12, 0, 0),
     Subject = "Meeting",
     Location = "Hutchison road",
     ResourceIds = new ObservableCollection<object> { 5601}
});

//Adding the schedule appointment collection to the DataSource of the SfSchedule.
schedule.DataSource = scheduleAppointmentCollection;
<scheduler:SfScheduler View="TimelineWeek" AppointmentsSource="{Binding Appointments}">
    <scheduler:SfScheduler.ResourceView>
        <scheduler:SchedulerResourceView Resources="{Binding Resources}" />
    </scheduler:SfScheduler.ResourceView>
</scheduler:SfScheduler>
public ObservableCollection<SchedulerAppointment> Appointments { get; set; }

SfScheduler scheduler = new SfScheduler();
//Creating an instance for the scheduler appointment collection.
this.Appointments = new ObservableCollection<SchedulerAppointment>();

//Adding scheduler appointment in the schedule appointment collection.  
Appointments.Add(new SchedulerAppointment()
{
    StartTime = DateTime.Today.AddHours(9),
    EndTime = DateTime.Today.AddHours(11),
    Subject = "Client Meeting",
    Background = Brush.LightSkyBlue,
});
	
//Adding the scheduler appointment collection to the AppointmentsSource of the .NET MAUI Scheduler.
scheduler.AppointmentsSource = Appointments;
this.Content = scheduler;	
	
//Adding schedule resource in the scheduler resource collection.
var Resources = new ObservableCollection<SchedulerResource>()
{
   new SchedulerResource() { Name = "Sophia", Foreground = Colors.Blue, Background = Colors.Green, Id = "1000" },
   new SchedulerResource() { Name = "Zoey Addison",  Foreground = Colors.Blue, Background = Colors.Green, Id = "1001" },
   new SchedulerResource() { Name = "James William",  Foreground = Colors.Blue, Background = Colors.Green, Id = "1002" },
};

//Adding the scheduler resource collection to the schedule resources of the SfSchedule.
this.Scheduler.ResourceView.Resources = Resources;

Scheduler ResourceMapping

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule ScheduleView="WeekView" ShowResourceView="True">
     <schedule:SfSchedule.ResourceMapping>
        <schedule:ResourceMapping 
            Name="Name"
            Id="Id"
            Color="Color"
            Image="DisplayPicture"/>
     </schedule:SfSchedule.ResourceMapping>
</schedule:SfSchedule>
/// <summary>
/// Represents custom data properties.
/// </summary>
public class Event
{
	public string EventName { get; set; }
	public DateTime From { get; set; }
	public DateTime To { get; set; }
	public Color Color { get; set; }
	public ObservableCollection<object> Resources { get; set; }
}

//Creating an instance for a custom appointment class.
Meeting meeting = new Meeting();
meeting.From = new DateTime(2017, 06, 11, 10, 0, 0);
meeting.To = meeting.From.AddHours(2);
meeting.EventName = "Client Meeting";
meeting.Color = Color.Green;

//Setting resources for an event.
meeting.Resources = new ObservableCollection<object> () {5601, 5604};

/// <summary>   
/// Represents custom data properties.   
/// </summary> 
public class Employee
{
     public string Name { get; set; }
     public object Id { get; set; }
     public Color Color { get; set; }
     public string DisplayPicture { get; set; }
}

//Creating an instance for the resource mapping.
ResourceMapping resourceMapping = new ResourceMapping();

//Mapping the custom data fields.  
resourceMapping.Name = "Name";
resourceMapping.Id = "Id";
resourceMapping.Color = "Color";
resourceMapping.Image = "DisplayPicture";
schedule.ResourceMapping = resourceMapping;

public ObservableCollection<object> Employees { get; set; }

//Creating an instance for the collection of custom resources.
Employees = new ObservableCollection<object>();

//Creating an instance for a custom appointment class.
Employee employee = new Employee();

employee.Name = "Kinsley Elena";
employee.Id = 5601;
employee.Color = Color.FromHex("#FFE671B8");
employee.DisplayPicture = "KinsleyElena.png";

//Adding a custom resource in the custom resource collection.
Employees.Add(employee);

//Adding a custom resource collection to the schedule resources.
schedule.ScheduleResources = Employees;
<schedule:SfScheduler x:Name="Scheduler"  View="TimelineWeek" 
                            AppointmentsSource="{Binding Meetings}"
                            AllowedViews="TimelineDay,TimelineMonth,TimelineWeek,TimelineWorkWeek" >
<schedule:SfScheduler.ResourceView>
 <schedule:SchedulerResourceView Resources="{Binding Resources}">
    <schedule:SchedulerResourceView.Mapping>
      <schedule:SchedulerResourceMapping Name="Name"
                                    Id="Id"
                                    Background="Background"
                                    Foreground="Foreground"/>
    </schedule:SchedulerResourceView.Mapping>
  </schedule:SchedulerResourceView>
</schedule:SfScheduler.ResourceView>    
</schedule:SfScheduler>
/// <summary>
/// Represents custom data properties.
/// </summary>
public class Event
{
	public string EventName { get; set; }
	public DateTime From { get; set; }
	public DateTime To { get; set; }
	public Color Color { get; set; }
	public ObservableCollection<object> Resources { get; set; }
}

Meeting meeting = new Meeting();
meeting.From = new DateTime(2020, 07, 01, 10, 0, 0);
meeting.To = meeting.From.AddHours(1);
meeting.EventName = "Meeting";
meeting.Resources = new ObservableCollection<object> { "1000" };
var Meetings = new ObservableCollection<Meeting>();
Meetings.Add(meeting);
this.Scheduler.AppointmentsSource = Meetings;

/// <summary>   
/// Represents custom data properties.   
/// </summary> 
public class Employee
{
     public string Name { get; set; }
     public object Id { get; set; }
     public Brush Background { get; set; }
     public Brush Foreground { get; set; }
}
SchedulerResourceMapping resourceMapping = new SchedulerResourceMapping();
resourceMapping.Name = "Name";
resourceMapping.Id = "Id";
resourceMapping.Background = "BackgroundColor";
resourceMapping.Foreground = "ForegroundColor";
this.Scheduler.ResourceView.Mapping = resourceMapping;

var Resources = new ObservableCollection<Employee>()
{
   new Employee () {Name = "Sophia", Background=Colors.Blue, Id = "1000", Foreground = Colors.Green},
};

//Adding the scheduler resource collection to the schedule resources of the SfSchedule.
this.Scheduler.ResourceView.Resources = Resources;

SchedulerAppointment

The following code example explains how to create the scheduler appointments in the Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule ScheduleView="MonthView" DataSource="{Binding Appointments}"/>
public ScheduleAppointmentCollection Appointments { get; set; }

SfSchedule schedule = new SfSchedule();
// Creating an instance for the schedule appointment collection.
this.Appointments = new ScheduleAppointmentCollection();   

// Creating new event   
ScheduleAppointment clientMeeting = new ScheduleAppointment();   
clientMeeting.StartTime = DateTime.Today.AddHours(9);   
clientMeeting.EndTime = DateTime.Today.AddHours(11);   
clientMeeting.Color = Color.Blue;   
clientMeeting.Subject = "ClientMeeting";   
Appointments.Add(clientMeeting);  
 
// Adding the schedule appointment collection to the DataSource of Xamarin Schedule.
schedule.DataSource = Appointments;
this.Content = schedule;
<scheduler:SfScheduler View="MonthView" AppointmentsSource="{Binding Appointments}"/>
public ObservableCollection<SchedulerAppointment> Appointments { get; set; }

SfScheduler scheduler = new SfScheduler();
// Creating an instance for the scheduler appointment collection.
this.Appointments = new ObservableCollection<SchedulerAppointment>();

// Adding scheduler appointment in the schedule appointment collection. 
Appointments.Add(new SchedulerAppointment()
{
    StartTime = DateTime.Today.AddHours(9),
    EndTime = DateTime.Today.AddHours(11),
    Subject = "Client Meeting",
    Background = Brush.LightSkyBlue,
});

// Adding the scheduler appointment collection to the AppointmentsSource of .NET MAUI Scheduler.
scheduler.AppointmentsSource = Appointments;
this.Content = scheduler;
Xamarin SfSchedule .NET MAUI SfScheduler Description

StartTime

StartTime

Gets or sets the start time for an appointment or the scheduler time region in the SfScheduler.

EndTime

EndTime

Gets or sets the end time for an appointment or the scheduler time region in the SfScheduler.

ActualStartTime

ActualStartTime

Gets the internal start time which is converted based on start time zone applied.

ActualEndTime

ActualEndTime

Gets the internal end time which is converted based on end time zone applied.

Subject

Subject

Gets or sets the Subject value for Scheduler Appointment to describe the appointments subject in scheduler.

StartTimeZone

StartTimeZone

Gets or sets the start time zone for the appointment.

EndTimeZone

EndTimeZone

Gets or sets the end time zone for the appointment.

TextColor

TextColor

Gets or sets the text color for an appointment in the SfScheduler.

Color

Background

Gets or sets the background color for an appointment or the scheduler time region in the SfScheduler..

IsAllDay

IsAllDay

Gets or sets a value indicating whether the appointment is all day.

RecurrenceExceptionDates

RecurrenceExceptionDates

Gets or sets the recurrence exception dates for an appointment or the scheduler time region in the SfScheduler.

RecurrenceId

RecurrenceId

Gets or sets the Id which is used to maintain the pattern recurrence Id that added in AppointmentsSource for creating the exception recurrence appointment.

RecurrenceRule

RecurrenceRule

Gets or sets the recurrence rule for an appointment or the scheduler time region in the SfScheduler.

Id

Id

Gets or sets an unique Id for referring event or appointment.

Notes

Notes

Gets or sets the Notes for Scheduler Appointment to describe a note about the appointment in scheduler.

Location

Location

Gets or sets the Location value for Scheduler Appointment to describe the location of the appointment in scheduler.

MinHeight

MinimumAppointmentDuration

(From DaysView, TimelineView)
Gets or sets the height for an appointment when it has minimum duration in time slot views of the SfScheduler.

ExceptionOccurrenceActualDate

RecurrenceId

Gets or sets the Id which is used to maintain the pattern recurrence Id that added in AppointmentsSource for creating the exception recurrence appointment.

ResourceIds

ResourceIds

Gets or sets the resource ids property for the schedule appointment to allocate the corresponding resource to the appointment.

SchedulerAppointmentMapping

The following code example explains how to map the custom appointments data in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule DataSource="{Binding Meetings}">
    <schedule:SfSchedule.AppointmentMapping>
        <schedule:SchedulerAppointmentMapping
                StartTimeMapping="From"
                EndTimeMapping="To"
                SubjectMapping="EventName"
                ColorMapping="color"
                IsAllDayMapping="AllDay"/>
    </schedule:SfSchedule.AppointmentMapping>
</schedule:SfSchedule>
/// <summary>   
/// Represents custom data properties.   
/// </summary>   
public class Meeting
{
    public string EventName { get; set; }
    public DateTime From { get; set; }
    public DateTime To { get; set; }
    public Color color { get; set; }
    public bool AllDay { get; set; }
}

SfSchedule schedule = new SfSchedule();
// Creates meetings and stores in a collection.  
public ObservableCollection<Meeting> Meetings = new ObservableCollection<Meeting>();
Meeting meeting = new Meeting();
meeting.From = DateTime.Today.AddHours(9);   
meeting.To = (meeting.From.AddHours(1));
meeting.EventName = "Meeting";
meeting.color = Color.Red;
Meetings.Add(meeting);

// Adding the custom schedule appointment collection to the DataSource of Xamarin Schedule.
schedule.DataSource = Meetings;

ScheduleAppointmentMapping dataMapping = new ScheduleAppointmentMapping(); 
dataMapping.SubjectMapping = "EventName";
dataMapping.StartTimeMapping = "From"; 
dataMapping.EndTimeMapping = "To";
dataMapping.ColorMapping = "color";  
dataMapping.IsAllDayMapping = "AllDay";
schedule.AppointmentMapping = dataMapping;
this.Content = schedule;
<scheduler:SfScheduler AppointmentsSource="{Binding Meetings}">
    <scheduler:SfScheduler.AppointmentMapping>
        <scheduler:SchedulerAppointmentMapping
                StartTime="From"
                EndTime="To"
                Subject="EventName"
                Background="Background"
                IsAllDay="IsAllDay"/>
    </scheduler:SfScheduler.AppointmentMapping>
</scheduler:SfScheduler>
/// <summary>    
/// Represents the custom data properties.    
/// </summary>    
public class Meeting
{
    public string EventName { get; set; }
    public DateTime From { get; set; }
    public DateTime To { get; set; }
    public Brush Background { get; set; }
    public bool IsAllDay { get; set; }
}

SfScheduler scheduler = new SfScheduler();
// Creates meetings and stores in a collection.  
public ObservableCollection<Meeting> Meetings = new ObservableCollection<Meeting>();
Meeting meeting = new Meeting();
meeting.From = DateTime.Today.AddHours(9);   
meeting.To = (meeting.From.AddHours(1));
meeting.EventName = "Meeting";
meeting.Background = Brush.Blue;
Meetings.Add(meeting);

// Adding the custom scheduler appointment collection to the AppointmentsSource of .NET MAUI Scheduler.
scheduler.AppointmentsSource = Meetings;

SchedulerAppointmentMapping appointmentMapping = new SchedulerAppointmentMapping();
appointmentMapping.Subject = "EventName";
appointmentMapping.StartTime = "From";
appointmentMapping.EndTime = "To";
appointmentMapping.Background = "Background";
appointmentMapping.IsAllDay = "IsAllDay";
scheduler.AppointmentMapping = appointmentMapping;
this.Content = scheduler;
Xamarin SfSchedule .NET MAUI SfScheduler Description

StartTimeMapping

StartTime

Gets or sets and sets the Start Time Mapping to map the custom appointment property with scheduler appointments start time property.

EndTimeMapping

EndTime

Gets or sets the End Time Mapping to map the custom appointment property with scheduler appointments end time property.

SubjectMapping

Subject

Gets or sets the Subject Mapping to map the custom property with scheduler appointments subject property.

StartTimeZoneMapping

StartTimeZone

Gets or sets the Start Time Zone Mapping to map the custom appointment property with scheduler appointments start time zone property.

EndTimeZoneMapping

EndTimeZone

Gets or sets the End Time Zone Mapping to map the custom property with scheduler appointments end time zone property.

ColorMapping

Background

Gets or sets the Background Mapping to map the custom appointment property with scheduler appointments color property.

IsAllDayMapping

IsAllDay

Gets or sets the Is All Day Mapping to map the custom appointment property with scheduler appointments IsAllDay property.

RecurrenceRuleMapping

RecurrenceRule

Gets or sets the Recurrence Rule Mapping to map the custom appointment property with scheduler appointments Recurrence Rule property.

RecurrenceExceptionDatesMapping

RecurrenceExceptionDates

Gets or sets the Recurrence Exception Dates Mapping to map the custom appointment property with the scheduler appointments Recurrence Exception Dates property.

RecurrenceIdMapping

RecurrenceId

Gets or sets the Recurrence ID mapping to map the custom appointment property with scheduler appointments Recurrence ID property.

IdMapping

Id

Gets or sets the mapping that binds the appointment's Id property to the data source field.

NotesMapping

Notes

Gets or sets the Notes Mapping to map the custom property with scheduler appointments notes property.

LocationMapping

Location

Gets or sets the Location Mapping to map the custom property with scheduler appointments location property.

MinHeightMapping

MinimumAppointmentDuration

(From DaysView, TimelineView)
Gets or sets the height for an appointment when it has minimum duration in time slot views of the SfScheduler.

ExceptionOccurrenceActualDateMapping

RecurrenceId

Gets or sets the Recurrence ID mapping to map the custom appointment property with scheduler appointments Recurrence ID property.

ResourceIdsMapping

ResourceIdsMapping

(From DaysView, TimelineView)
Gets or sets the resource ids mapping to map the custom appointment property with the schedule appointments resource ids property.

TextColorMapping

TextColorMapping

Gets or sets the TextColor Mapping to map the custom appointment property with the scheduled appointment's text color property.

MonthView

The following code example explains how to configure the month view settings in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule ScheduleView="MonthView">
    <schedule:SfSchedule.MonthViewSettings>
        <schedule:MonthViewSettings ShowWeekNumber="False" AppointmentDisplayMode="Appointment">
        </schedule:MonthViewSettings>
    </schedule:SfSchedule.MonthViewSettings>
</schedule>
SfSchedule schedule = new SfSchedule();
schedule.ScheduleView = ScheduleView.MonthView;
schedule.MonthViewSettings.ShowWeekNumber = false;
schedule.MonthViewSettings.AppointmentDisplayMode = AppointmentDisplayMode.Appointment;
this.Content = schedule;
<scheduler:SfScheduler View="Month" 
                       ShowWeekNumber="false">			
    <scheduler:SfScheduler.MonthView>
        <scheduler:SchedulerMonthView AppointmentDisplayMode="Indicator"/>
    </scheduler:SfScheduler.MonthView>						
</scheduler:SfScheduler>
SfScheduler scheduler = new SfScheduler();
scheduler.View = SchedulerView.Month:
scheduler.ShowWeekNumber = true;
scheduler.MonthView.AppointmentDisplayMode = SchedulerMonthAppointmentDisplayMode.Indicator;
this.Content = scheduler;
Xamarin SfSchedule
(MonthViewSettings)
.NET MAUI SfScheduler
(MonthView)
Description

AppointmentDisplayMode

AppointmentDisplayMode

Gets or sets a value which defines the appointment display mode for the month cell in SfScheduler..

BlackoutDates

SelectableDayPredicate

(From Scheduler)
Gets or sets the view rendering to decide whether scheduler view date time should be selectable or not.

ShowWeekNumber

ShowWeekNumber

(From Scheduler)
Gets or sets a value indicating whether to displays the week number of the year in the SfScheduler.

WeekNumberStyle

WeekNumberStyle

(From Scheduler)
Gets or sets the style of the week number, that used to customize the background, text color, font, font size, font family and font attributes.

TodayBackground

TodayHighlightBrush

(From Scheduler)
Gets or sets the color that describes the today highlight color value.

MonthCellTemplate

CellTemplate

Gets or sets the month cell template or template selector.

AgendaViewStyle

AgendaView

Gets or sets properties which allows to customize the agenda view of the SfScheduler.

AgendaItemTemplate

AgendaView

Gets or sets properties which allows to customize the agenda view of the SfScheduler.

ShowAgendaView

You can use

AgendaView

instead of agenda view in the month view of the scheduler.
Gets or sets properties which allows to customize the agenda view of the SfScheduler.

SelectionTextColor

AppointmentTextStyle

Gets or sets the style of appointment text, that used to customize the text color, font, font size, font family and font attributes.

AppointmentIndicatorCount

Nil The appointment indicator will be rendered based on the cell size.

AgendaViewHeight

AgendaView

Gets or sets properties which allows to customize the agenda view of the SfScheduler.

AppointmentDisplayCount

Nil The appointment will be rendered based on the cell size..
Xamarin SfSchedule
(MonthLabelSettings)
.NET MAUI SfScheduler
(MonthView)
Description

DateFormat

DateFormat

(From ViewHeaderSettings of MonthView class)
Gets or sets a view header date format of the SfScheduler.

DayFormat

DayFormat

(From ViewHeaderSettings of MonthView class)
Gets or sets a view header day format of the SfScheduler.

DayView

The following code example explains how to configure the day view settings in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule ScheduleView="DayView" ShowCurrentTimeIndicator="false">
 <schedule:SfSchedule.DayViewSettings>
        <schedule:DayViewSettings 
            StartHour="9"
            EndHour="16">
        </schedule:DayViewSettings>
    </schedule:SfSchedule.DayViewSettings>
</schedule>
SfSchedule schedule = new SfSchedule();
schedule.Scheduleview = ScheduleView.DayView;
schedule.ShowCurrentTimeIndicator = false;
schedule.DayViewSettings.StartHour = 9;
schedule.DayViewSettings.EndHour = 16;
this.Content = schedule;
<scheduler:SfScheduler View="Day">
    <scheduler:SfScheduler.DaysView>
        <scheduler:SchedulerDaysView       
                       StartHour="9"
                       EndHour="16"
					   ShowCurrentTimeIndicator="False"/>
    </scheduler:SfScheduler.DaysView>					
</scheduler:SfScheduler>
SfScheduler scheduler = new SfScheduler();
scheduler.View = SchedulerView.Day;
scheduler.DaysView.StartHour = 9;
scheduler.DaysView.EndHour = 16;
scheduler.DaysView.ShowCurrentTimeIndicator = false;
this.Content = scheduler;
Xamarin SfSchedule
(DayViewSettings, WeekViewSettings, WorkWeekViewSettings)
.NET MAUI SfScheduler
(DayView)
Description

TimeRulerSize

TimeRulerWidth

Gets or sets the width for the time ruler view to layout within this in day, week, and work week views of the SfScheduler.

NonAccessibleBlocks

TimeRegions

Gets or sets to defines the collection of special time region in the time slot views of the SfScheduler.

StartHour

StartHour

Gets or sets the start hour for the time slot views in the SfScheduler.

EndHour

EndHour

Gets or sets the end hour for the time slot views in the SfScheduler.

WorkStartHour

TimeRegions

(From DaysView ,TimelineView)
Gets or sets to defines the collection of special time region in the time slot views of the scheduler.

WorkEndHour

TimeRegions

(From DaysView ,TimelineView)
Gets or sets to defines the collection of special time region in the time slot views of the scheduler.

TimeSlotBorderColor

CellBorderBrush

Gets or sets the color that describes the cell border color value.

TimeSlotColor

TimeRegions

Gets or sets to defines the collection of special time region in the time slot views of the SfScheduler.

NonWorkingHoursTimeSlotBorderColor

TimeRegions

Gets or sets to defines the collection of special time region in the time slot views of the SfScheduler.

NonWorkingHoursTimeSlotColor

TimeRegions

Gets or sets to defines the collection of special time region in the time slot views of the SfScheduler.

ShowAllDay

Nil The all day panel will be visible if the all-day appointments present in the scheduler.
Nil

NumberOfVisibleDays

Gets or sets a value to display the number of days of Day, Week, WorkWeek in the SfScheduler
Xamarin SfSchedule
(DayLabelSettings, WeekLabelSettings, WorkWeekLabelSettings)
.NET MAUI SfScheduler
(DayView)
Description

TimeLabelSize

TimeRulerWidth

(From TimeRulerTextStyle of DayView class)
Gets or sets the width for the time ruler view to layout within this in day, week, and work week views of the SfScheduler.

TimeLabelColor

TextColor

(From TimeRulerTextStyle of DayView class)
Gets or sets the text color for the scheduler.

TimeFormat

TimeFormat

Gets or sets the time formats for the time text in the time slot views of the SfScheduler

DateFormat

DateFormat

(From ViewHeaderSettings of DayView class)
Gets or sets a view header date format of the SfScheduler.

DayFormat

DayFormat

(From ViewHeaderSettings of DayView class)
Gets or sets a view header day format of the SfScheduler.

TimelineView

The following code example explains how to configure the timeline view settings in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule ScheduleView="TimelineView" ShowCurrentTimeIndicator="False">
   <schedule:SfSchedule.TimelineViewSettings>
        <schedule:TimelineViewSettings
            StartHour="09"
            EndHour="13">
        </schedule:TimelineViewSettings>
    </schedule:SfSchedule.TimelineViewSettings>
</schedule>
SfSchedule schedule = new SfSchedule();
schedule.SchedulerView = SchedulerView.TimelineView;
schedule.ShowCurrentTimeIndicator = false;
schedule.TimelineViewSettings.StartHour = 09;
schedule.TimelineViewSettings.EndHour = 13;
this.Content = schedule;
<scheduler:SfScheduler View="TimelineWeek">
    <scheduler:SfScheduler.TimelineView>
        <scheduler:SchedulerTimelineView       
                       StartHour="9"
                       EndHour="16"
					   ShowCurrentTimeIndicator="False"/>
    </scheduler:SfScheduler.TimelineView>					
</scheduler:SfScheduler>
SfScheduler scheduler = new SfScheduler();
scheduler.View = SchedulerView.TimelineWeek;
scheduler.TimelineView.StartHour = 9;
scheduler.TimelineView.EndHour = 16;
scheduler.TimelineView.ShowCurrentTimeIndicator = false;
this.Content = scheduler;
Xamarin SfSchedule
(TimelineViewSettings)
.NET MAUI SfScheduler
(TimelineView)
Description

LabelSettings

TimeRulerTextStyle

Gets or sets the style of time ruler text, that used to customize the text color, font, font size, font family and font attributes.

NonWorkingsDays

NonWorkingDays

Gets or sets the non working days for the workweek view and timeline workweek view in the SfScheduler.

TimeRulerSize

TimeRulerHeight

Gets or sets the height for the time ruler view to layout within this in timeline views of the SfScheduler.

BorderColor

CellBorderBrush

(From Scheduler)
Specifies the displaying mode for appointment in month view.

StartHour

StartHour

Gets or sets the start hour for the time slot views in the SfScheduler..

EndHour

EndHour

Gets or sets the end hour for the time slot views in the SfScheduler.

Color

TimeRegions

(From DaysView ,TimelineView)
Gets or sets to defines the collection of special time region in the time slot views of the scheduler.

AppointmentHeight

MinimumAppointmentDuration

Gets or sets the height for an appointment when it has minimum duration in time slot views of the SfScheduler.

BorderWidth

Nil Not Supported.

DaysCount

NumberOfVisibleDays

Gets or sets a value to display the number of days of TimelineDay, TimelineWeek, TimelineWorkWeek in the SfScheduler
Xamarin SfSchedule
(TimeLabelSettings)
.NET MAUI SfScheduler
(TimelineView)
Description

TimeFormat

TimeFormat

Gets or sets the time formats for the time text in the time slot views of the SfScheduler.

TimeLabelSize

FontSize

(From TimeRulerTextStyle of TimelineView class)
Gets or sets the double value that represents size of the SfScheduler.

TimeLabelColor

TextColor

(From TimeRulerTextStyle of TimelineView class)
Gets or sets the text color for the scheduler.

DateFormat

DateFormat

(From ViewHeaderSettings of TimelineView class)
Gets or sets a view header date format of the SfScheduler.

SchedulerTimeRegion

The following code example, explains how to configure the special time regions in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule ScheduleView="TimelineView">
    <schedule:SfSchedule.SpecialTimeRegions>
        <schedule:TimeRegionSettings 
            StartHour="12" 
            EndHour="13" 
            Text="Lunch"
            CanEdit="False"
            Color="#EAEAEA"
            TextColor="Black"/>
    </schedule:SfSchedule.SpecialTimeRegions>
</schedule>
SfSchedule schedule = new SfSchedule();
ObservableCollection<TimeRegionSettings> specialTimeRegions = new ObservableCollection<TimeRegionSettings>();
TimeRegionSettings timeRegionSettings = new TimeRegionSettings();
timeRegionSettings.StartHour = 12;
timeRegionSettings.EndHour = 13;
timeRegionSettings.Text = "Lunch";
timeRegionSettings.Color = Color.FromHex("#EAEAEA");
timeRegionSettings.TextColor = Color.Black;
timeRegionSettings.CanEdit = false;
specialTimeRegions.Add(timeRegionSettings);
schedule.SpecialTimeRegions = specialTimeRegions;
this.Content = schedule;
<scheduler:SfScheduler View="Week">
    <scheduler:SfScheduler.DaysView>
        <scheduler:SchedulerDaysView>
            <scheduler:SchedulerDaysView.TimeRegions>
                <scheduler:SchedulerTimeRegion 
                    StartTime="{Binding StartTime}"
                    EndTime="{Binding EndTime}"
                    Text="Lunch"
                    EnablePointerInteraction="False"
                    Background="Gray"/>
            </scheduler:SchedulerDaysView.TimeRegions>
        </scheduler:SchedulerDaysView>
    </scheduler:SfScheduler.DaysView>
</scheduler:SfScheduler>
public DateTime StartTime { get; set; } = DateTime.Now.Date.AddHours(13);
public DateTime EndTime { get; set; } = DateTime.Now.Date.AddHours(14);

SfScheduler scheduler = new SfScheduler();
scheduler.View = SchedulerView.Week;
scheduler.DaysView.TimeRegions = this.GetTimeRegion();

private ObservableCollection<SchedulerTimeRegion> GetTimeRegion()
{
    var timeRegions = new ObservableCollection<SchedulerTimeRegion>();
    var timeRegion = new SchedulerTimeRegion()
    {
        StartTime = DateTime.Today.Date.AddHours(13),
        EndTime = DateTime.Today.Date.AddHours(14),
        Text = "Lunch",
        EnablePointerInteraction = false,
    };

    timeRegions.Add(timeRegion);
    return timeRegions;
}
this.Content = scheduler;
Xamarin SfSchedule
(TimeRegionSettings)
.NET MAUI SfScheduler
(SchedulerTimeRegion)
Description

StartHour

StartTime

Gets or sets the start time for an appointment or the scheduler time region in the SfScheduler.

EndHour

EndTime

Gets or sets the end time for an appointment or the scheduler time region in the SfScheduler.

Color

Background

Gets or sets the background color for an appointment or the scheduler time region in the SfScheduler..

TextColor

TextColor

(From TextStyle)
Gets or sets the text color for the scheduler.

Text

Text

Gets or sets the text for the scheduler time region.

CanEdit

EnablePointerInteraction

Gets or sets a value indicating whether this SchedulerTimeRegion is enable pointer interaction..

ResourceIds

Gets or sets the resource id for an appointment or the scheduler time region in the SfScheduler.

HeaderView

The following code example explains how to customize the appearance of the header in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule>
    <schedule:SfSchedule.HeaderStyle>
        <schedule:HeaderStyle 
                        Background="Orange">
        </schedule:HeaderStyle>
    </schedule:SfSchedule.HeaderStyle>
 </schedule:SfSchedule>
SfSchedule schedule = new SfSchedule();
HeaderStyle headerStyle = new HeaderStyle();
headerStyle.BackgroundColor = Color.FromRgb(250, 219, 216);
headerStyle.FontSize = "20";
headerStyle.TextColor=Color.Blue;
schedule.HeaderStyle = headerStyle;
this.Content = schedule;
<scheduler:SfScheduler View="Week">
    <scheduler:SfScheduler.HeaderView>
        <scheduler:SchedulerHeaderView 
                        Background="LightGreen">
        </scheduler:SchedulerHeaderView>
    </scheduler:SfScheduler.HeaderView>
 </scheduler:SfScheduler>
SfScheduler scheduler = new SfScheduler();
var textStyle = new SchedulerTextStyle()
{
    TextColor = Colors.DarkBlue,
    FontSize = 14,
};

scheduler.HeaderView.TextStyle = textStyle;
scheduler.HeaderView.Background = Brush.LightGreen;
this.Content = scheduler;
Xamarin SfSchedule
(HeaderStyle)
.NET MAUI SfScheduler
(HeaderView)
Description

BackgroundColor

Background

Gets or sets the header background to customize the default background of the header in the scheduler.

TextColor

TextColor

Gets or sets the text color for the scheduler.

FontFamily

FontFamily

Gets or sets the string, that represents font family of the SfScheduler.

FontSize

FontSize

Gets or sets the double value that represents size of the SfScheduler.

FontAttributes

FontAttributes

Gets or sets the FontAttributes of the SfScheduler.

ViewHeaderSettings

The following code example explains how to customize the appearance of the view header in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule>
    <schedule:SfSchedule.ViewHeaderStyle>
        <schedule:ViewHeaderStyle
             Background="LightGreen">
        </schedule:ViewHeaderStyle>
    </schedule:SfSchedule.ViewHeaderStyle>
</schedule:SfSchedule>
SfSchedule schedule = new SfSchedule();
// Customize the schedule view header
ViewHeaderStyle viewHeaderStyle = new ViewHeaderStyle();
viewHeaderStyle.BackgroundColor = Color.FromHex("#009688");
viewHeaderStyle.DayTextColor = Color.FromHex("#FFFFFF");
viewHeaderStyle.DateTextColor = Color.FromHex("#FFFFFF");
viewHeaderStyle.DayFontFamily = "Arial";
viewHeaderStyle.DateFontFamily = "Arial";
schedule.ViewHeaderStyle = viewHeaderStyle;
this.Content = schedule;
<scheduler:SfScheduler>
    <scheduler:SfScheduler.DaysView>
        <scheduler:SchedulerDaysView>
            <scheduler:SchedulerDaysView.ViewHeaderSettings>
                <scheduler:SchedulerViewHeaderSettings Background="LightGreen" />
            </scheduler:SchedulerDaysView.ViewHeaderSettings>
        </scheduler:SchedulerDaysView>
    </scheduler:SfScheduler.DaysView>
</scheduler:SfScheduler>
SfScheduler scheduler = new SfScheduler();
var dateTextStyle = new SchedulerTextStyle()
{
    TextColor = Colors.Red,
    FontFamily = "Arial",
};

scheduler.DaysView.ViewHeaderSettings.DateTextStyle = dateTextStyle;

var dayTextStyle = new SchedulerTextStyle()
{
    TextColor = Colors.Red,
    FontFamily = "Arial",
};

scheduler.DaysView.ViewHeaderSettings.DayTextStyle = dayTextStyle;
scheduler.DaysView.ViewHeaderSettings.Background = Brush.LightGreen;
this.Content = scheduler;
Xamarin SfSchedule
(ViewHeaderStyle)
.NET MAUI SfScheduler
(ViewHeaderSettings)
Description

CurrentDayTextColor

,

CurrentDateTextColor

TextColor

(From TodayTextStyle of Scheduler)
Gets or sets the current day text color for the scheduler.

BackgroundColor

Background

Gets or sets the view header background to customize the default background of the header in the scheduler.

DayTextColor

TextColor

(From DayTextStyle)
Gets or sets the day text color for the scheduler.

DateTextColor

TextColor

(From DateTextStyle)
Gets or sets the date text color for the scheduler.

DayFontFamily

FontFamily

(From DayTextStyle)
Gets or sets the string, that represents font family of the SfScheduler.

DateFontFamily

FontFamily

(From DateTextStyle)
Gets or sets the string, that represents font family of the SfScheduler.

DayFontSize

FontSize

(From DayTextStyle)
Gets or sets the double value that represents size of the SfScheduler.

DateFontSize

FontSize

(From DateTextStyle)
Gets or sets the double value that represents size of the SfScheduler.

DayFontAttributes

FontAttributes

(From DayTextStyle)
Gets or sets the FontAttributes of the SfScheduler.

DateFontAttributes

FontAttributes

(From DateTextStyle)
Gets or sets the FontAttributes of the SfScheduler.

AppointmentTextStyle

The following code example explains how to customize the appearance of the appointment in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule DataSource="{Binding Appointments}">
    <schedule:SfSchedule.AppointmentStyle>
        <schedule:AppointmentStyle
             TextColor="#FFFFFF"
             FontSize = "25"
             FontAttributes = "Bold"
             FontFamily = "Arial">
        </schedule:AppointmentStyle>
    </schedule:SfSchedule.AppointmentStyle>
</schedule:SfSchedule>
public ScheduleAppointmentCollection Appointments { get; set; }

SfSchedule schedule = new SfSchedule();
this.Appointments = new ScheduleAppointmentCollection();
this.Appointments.Add(new ScheduleAppointment()
{
    Subject = "Planning",
    StartTime = DateTime.Now.AddHours(1),
    EndTime = DateTime.Now.AddHours(2),
});
schedule.DataSource = this.Appointments;

// Creating Appointment style
AppointmentStyle appointmentStyle = new AppointmentStyle();
appointmentStyle.TextColor = Color.Red;
appointmentStyle.FontSize = 25;
appointmentStyle.FontAttributes = FontAttributes.Bold;
appointmentStyle.FontFamily = "Arial";

// Setting Appointment Style
schedule.AppointmentStyle = appointmentStyle;
this.Content = schedule;
<schedule:SfScheduler AppointmentsSource="{Binding Appointments}">
    <schedule:SfScheduler.AppointmentTextStyle>
        <schedule:SchedulerTextStyle
            TextColor="Orange"
            FontFamily="Arial"
            FontSize="12"
            FontAttributes="Italic"/>
    </schedule:SfScheduler.AppointmentTextStyle>
</schedule:SfScheduler>
public ObservableCollection<SchedulerAppointment> Appointments { get; set; }

SfScheduler scheduler = new SfScheduler();
this.Appointments = new ObservableCollection<SchedulerAppointment>();
this.Appointments.Add(new SchedulerAppointment()
{
    Subject = "meeting",
    StartTime = DateTime.Now,
    EndTime = DateTime.Now.AddHours(1),
});
scheduler.AppointmentsSource = this.Appointments;

var appointmentTextStyle = new SchedulerTextStyle()
{
    TextColor = Colors.Red,
    FontFamily ="Arial",
    FontSize = 12,
    FontAttributes = FontAttributes.Bold
};

scheduler.AppointmentTextStyle = appointmentTextStyle;
this.Content = scheduler;
Xamarin SfSchedule
(AppointmentStyle)
.NET MAUI SfScheduler
(AppointmentTextStyle)
Description

TextColor

TextColor

Gets or sets the text color for the scheduler.

FontFamily

FontFamily

Gets or sets the string, that represents font family of the SfScheduler.

FontSize

FontSize

Gets or sets the double value that represents size of the SfScheduler.

FontAttributes

FontAttributes

Gets or sets the FontAttributes of the SfScheduler.

BorderWidth

AppointmentTemplate

(From DaysView, TimelineView, and MonthView)
Gets or sets the appointment template to customize the default UI.

BorderCornerRadius

AppointmentTemplate

(From DaysView, TimelineView, and MonthView)
Gets or sets the appointment template to customize the default UI.

BorderColor

AppointmentTemplate

(From DaysView, TimelineView, and MonthView)
Gets or sets the appointment template to customize the default UI.

SelectionBorderColor

SelectedAppointmentBackground

Gets or sets the color that describes the selection background for the scheduler appointments.

SelectionTextColor

AppointmentTemplate

(From DaysView, TimelineView, and MonthView)
Gets or sets the appointment template to customize the default UI.

CellStyle

The following code example explains how to customize the appearance of the month cell in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule 
                  ScheduleView="MonthView">
<schedule:SfSchedule.MonthCellStyle>
    <schedule:MonthViewCellStyle
        BackgroundColor="#8282ff"
        NextMonthBackgroundColor="Gray"
        PreviousMonthBackgroundColor="White"
        TodayBackgroundColor="#f97272">
    </schedule:MonthViewCellStyle>
</schedule:SfSchedule.MonthCellStyle>
<schedule:SfSchedule/>
SfSchedule schedule = new SfSchedule();
// MonthCell Appearance
MonthViewCellStyle monthCellStyle = new MonthViewCellStyle();
monthCellStyle.BackgroundColor = Color.FromHex("#8282ff");
monthCellStyle.NextMonthBackgroundColor = Color.White;
monthCellStyle.PreviousMonthBackgroundColor = Color.White;
monthCellStyle.TodayBackgroundColor = Color.FromHex("#f97272");
schedule.MonthCellStyle = monthCellStyle;
this.Content = schedule;
<schedule:SfScheduler View="Month">
    <schedule:SfScheduler.MonthView>
        <schedule:SchedulerMonthView>
            <schedule:SchedulerMonthView.CellStyle>
                <schedule:SchedulerMonthCellStyle 
                    TodayBackground="LightBlue"
                    Background="Orange"
                    LeadingMonthBackground="Brown"
                    TrailingMonthBackground="Yellow"/>
            </schedule:SchedulerMonthView.CellStyle>
        </schedule:SchedulerMonthView>
    </schedule:SfScheduler.MonthView>
</schedule:SfScheduler>
SfScheduler scheduler = new SfScheduler();
var monthCellStyle = new SchedulerMonthCellStyle()
{
    Background = Brush.LightSkyBlue,
    TodayBackground = Brush.LightBlue,
    LeadingMonthBackground = Brush.LightGreen,
    TrailingMonthBackground = Brush.LightYellow,
};
scheduler.MonthView.CellStyle = monthCellStyle;
this.Content = scheduler;
Xamarin SfSchedule
(MonthCellStyle, MonthViewCellStyle)
.NET MAUI SfScheduler
(CellStyle)
Description

TextColor

TextColor

Gets or sets the text color for the scheduler.

FontFamily

FontFamily

Gets or sets the string, that represents font family of the SfScheduler.

FontSize

FontSize

Gets or sets the double value that represents size of the SfScheduler.

FontAttributes

FontAttributes

Gets or sets the FontAttributes of the SfScheduler.

BackgroundColor

Background

Gets or sets the background color for the month cell of month view, that used to customize the background color.

TodayBackgroundColor

TodayBackground

Gets or sets the background color for the today month cell of month view, that used to customize the background color.

TodayTextColor

TextColor

(From TodayTextStyle of Scheduler)
Gets or sets the text color for the scheduler.

PreviousMonthTextColor

TextColor

(From LeadingMonthTextStyle)
Gets or sets the text color for the scheduler.

PreviousMonthBackgroundColor

LeadingMonthBackground

Gets or sets the background color for the leading month cell of month view, that used to customize the background color.

NextMonthBackgroundColor

TrailingMonthBackground

Gets or sets the background color for the trailing month cell of month view, that used to customize the background color.

NextMonthTextColor

TextColor

(From TrailingMonthTextStyle)
Gets or sets the text color for the scheduler.

WeekNumberStyle

The following code example explains how to customize the appearance of the cell in Xamarin SfSchedule and .NET MAUI SfScheduler.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule>
<schedule:SfSchedule.MonthViewSettings>
    <schedule:MonthViewSettings ShowWeekNumber="true" >
        <schedule:MonthViewSettings.WeekNumberStyle>
            <schedule:WeekNumberStyle BackgroundColor="Red"/>
        </schedule:MonthViewSettings.WeekNumberStyle>
    </schedule:MonthViewSettings>
</schedule:SfSchedule.MonthViewSettings>
</schedule:SfSchedule>
SfSchedule schedule = new SfSchedule();
// creating new instance for WeekNumberStyle
WeekNumberStyle weekNumberStyle = new WeekNumberStyle();
weekNumberStyle.FontFamily = "Arial";
weekNumberStyle.FontSize = 15;
weekNumberStyle.FontAttributes = FontAttributes.None;
weekNumberStyle.BackgroundColor = Color.Blue;
weekNumberStyle.TextColor = Color.White;
monthViewSettings.WeekNumberStyle = weekNumberStyle;
this.Content = schedule;
<schedule:SfScheduler
        ShowWeekNumber="True"
        View="Month">
    <schedule:SfScheduler.WeekNumberStyle>
        <schedule:SchedulerWeekNumberStyle 
                                Background="Red"/>
    </schedule:SfScheduler.WeekNumberStyle>
</schedule:SfScheduler>
SfScheduler scheduler = new SfScheduler();
scheduler.ShowWeekNumber = true;
var schedulerWeekNumberStyle = new SchedulerWeekNumberStyle()
{
    Background = Brush.LightGreen,
    TextStyle = schedulerTextStyle
};
scheduler.WeekNumberStyle = schedulerWeekNumberStyle;
this.Content = scheduler;
Xamarin SfSchedule
(WeekNumberStyle)
.NET MAUI SfScheduler
(WeekNumberStyle)
Description

TextColor

TextColor

Gets or sets the text color for the scheduler.

FontFamily

FontFamily

Gets or sets the string, that represents font family of the SfScheduler.

FontSize

FontSize

Gets or sets the double value that represents size of the SfScheduler.

FontAttributes

FontAttributes

Gets or sets the FontAttributes of the SfScheduler.

DragDropSettings

The following code example explains how to customize the drag-and-drop operations of appointments in the schedule.

Xamarin SfSchedule .NET MAUI SfScheduler
<schedule:SfSchedule AllowAppointmentDrag="True" >
    <schedule:SfSchedule.DragDropSettings>
        <schedule:DragDropSettings AllowNavigation="False" />
    </schedule:SfSchedule.DragDropSettings>
</schedule:SfSchedule>
SfSchedule schedule = new SfSchedule();
schedule.DragDropSettings.AllowNavigation = false;
schedule.DragDropSettings.AllowScroll = false;
this.Content = schedule;
<scheduler:SfScheduler x:Name="scheduler" View="Week" 
                        AllowAppointmentDrag="True" >
    <scheduler:SfScheduler.DragDropSettings>
        <scheduler:DragDropSettings AllowNavigation="False" />
    </scheduler:SfScheduler.DragDropSettings>
</scheduler:SfScheduler>
SfScheduler scheduler = new SfScheduler();
scheduler.DragDropSettings.AllowNavigation = false;
scheduler.DragDropSettings.AllowScroll = false;
this.Content = scheduler;
Xamarin SfSchedule
(DragDropSettings)
.NET MAUI SfScheduler
(DragDropSettings)
Description

AllowNavigate

AllowNavigation

Get or set a value indicating whether the user can navigate views while dragging the appointment or not.

AllowScroll

AllowScroll

Get or set a value indicating whether the user can scroll the time slot while dragging the appointment or not.

AutoNavigationDelay

AutoNavigationDelay

Get or set the auto navigation time delay while dragging an appointment within the scheduler control.

ShowTimeIndicator

ShowTimeIndicator

Get or set a value indicating whether the drag and drop indicator should be displayed within the scheduler control during appointment dragging.

TimeIndicatorStyle

TimeIndicatorStyle

Get or set the style of the drag and drop indicator displayed during appointment dragging within the scheduler control.
Nil

TimeIndicatorTextFormat

Get or set the display format for the time indicator that appears when an appointment is dragged and dropped within the scheduler control's day, week, workweek, timeline day, timeline week, and timeline workweek views.

Enums

Xamarin SfSchedule .NET MAUI SfScheduler Description

AppointmentDisplayMode

SchedulerMonthAppointmentDisplayMode

Specifies the displaying mode for appointment in month view.

RecurrenceRange

SchedulerRecurrenceRange

Specifies the type of recurrence date range.

RecurrenceType

SchedulerRecurrenceType

Specifies the type of recurrence in the appointment.

ScheduleView

SchedulerView

Defines the view for the SfScheduler.

ViewLayoutOptions

AppointmentTemplate

(From DaysView, TimelineView, and MonthView)
Gets or sets the appointment template to customize the default UI.

SelectionMode

Nil. Not Supported.

Events

Xamarin SfSchedule .NET MAUI SfScheduler Description

CellDoubleTapped

DoubleTapped

Occurs when an item is double tapped.

CellTapped

Tapped

Occurs when an item is tapped.

CellLongPressed

LongPressed

Occurs when an item is long pressed.

HeaderTapped

Tapped

Occurs when header item is tapped.

ViewHeaderTapped

Tapped

Occurs when view header item is tapped.

VisibleDatesChangedEvent

ViewChanged

Occurs when view changed.

MonthInlineAppointmentTapped

Tapped

Occurs when header item is tapped.

OnAppointmentLoadedEvent

AppointmentTemplate

(From DaysView, TimelineView, and MonthView)
Gets or sets the appointment template to customize the default UI.

OnMonthInlineAppointmentLoadedEvent

AppointmentTemplate

(From MonthView)
Gets or sets the appointment template to customize the default UI.

OnMonthInlineLoadedEvent

AppointmentTemplate

(From MonthView)
Gets or sets the appointment template to customize the default UI.

OnMonthCellLoadedEvent

CellTemplate

Gets or sets the month cell template or template selector.

AppointmentDragStarting

AppointmentDragStarting

Occur when the user starts dragging an appointment.

AppointmentDragOver

AppointmentDragOver

Occur when the user is dragging an appointment.

AppointmentDrop

AppointmentDrop

Occur when the user drops an appointment.

Methods

Xamarin SfSchedule .NET MAUI SfScheduler Description

Backward

Backward

Move to previous view which displays previous view dates.

Forward

Forward

Move to next view which displays next view dates.

NavigateTo

DisplayDate

Gets or sets the display date to programmatically navigate the dates in the SfScheduler.

GetVisibleAppointments

GetOccurrenceAppointment

Returns the occurrence appointment for the given pattern appointment at the specified date. If there is no appointment occurring on the date specified, null is returned.

GetRecurrenceDateTimeCollection

GetDateTimeOccurrences

Method to get date time collection at which the recurrence appointment will occur.

RRuleGenerator

GenerateRRule

Method to generates the recurrence rule based on the given recurrence properties, the start date and end date of the recurrence appointments.

RRuleParser

ParseRRule

Returns the recurrence properties based on the given recurrence rule and the recurrence start date.

Upcoming Features

  • Command support for Tapped, DoubleTapped, LongPressed, and ViewChanged events.
  • Suspend and resume for appointment update.

Known issues in .NET MAUI Scheduler

  • [Windows] Scheduler view swiping using the touch screen is not working.
  • [Android] - Scheduler view swiping using the touch screen is not working in all timeline views.
  • The touch and mouse swipe are not working inside the AppShell page.
  • FlowDirection property runtime change will not work.