View customization
9 Mar 20185 minutes to read
Appointment Customization
ScheduleAppointment
created in schedule are arranged based on its duration, where the appointments viewed through day, week and work week view are positioned in the timeslots.
Appointment Style
Schedule Appointment can be customized in two ways,
- AppointmentStyle property.
- AppointmentLoadedEvent.
Using AppointmentStyle property
ScheduleAppointment
can be customized by setting appointment style properties such as TextColor,TextStyle,BorderColor,BorderCornerRadius,BorderWidth,SelectionBorderColor,SelectionTextColor to the AppointmentStyle
property of schedule.
AppointmentStyle appointmentStyle = new AppointmentStyle();
appointmentStyle.TextColor = Color.Red;
appointmentStyle.TextStyle = Font.SystemFontOfSize(15,FontAttributes.Bold);
appointmentStyle.BorderColor = Color.Blue;
appointmentStyle.BorderCornerRadius = 12;
appointmentStyle.BorderWidth = 10;
appointmentStyle.SelectionBorderColor = Color.Yellow;
appointmentStyle.SelectionTextColor = Color.Yellow;
schedule.AppointmentStyle = appointmentStyle;
Using AppointmentLoaded Event
Schedule appointment view can be customized during runtime using AppointmentLoaded Event
.In AppointmentLoaded event, the properties such as appointmentStyle,appointment,view,Bounds are passed in the AppointmentLoadedEventArgs
.
ScheduleAppointment can be customized using the appointmentStyle
property as follows,
schedule.AppointmentLoaded += (object sender, SfSchedule.AppointmentLoadedEventArgs e) =>
{
e.P0.AppointmentStyle.BorderColor = Color.AliceBlue;
e.P0.AppointmentStyle.BorderCornerRadius = 5;
e.P0.AppointmentStyle.BorderWidth = 10;
e.P0.AppointmentStyle.SelectionBorderColor = Color.Blue;
e.P0.AppointmentStyle.SelectionTextColor = Color.Yellow;
e.P0.AppointmentStyle.TextColor = Color.Brown;
e.P0.AppointmentStyle.TextStyle = Font.SystemFontOfSize(15,FontAttributes.Bold);
};
Appointment Custom View
You can also add an object in the appointment view using view
property passed through AppointmentLoadedEventArgs
.
schedule.AppointmentLoaded += (object sender, SfSchedule.AppointmentLoadedEventArgs e) =>
{
Button button = new Button(this);
button.SetBackgroundColor(Color.Red);
e.P0.View = button;
};
MonthCell Customization
Schedule views are designed as per the native calendar control with some enriched user interface for the control interaction and usability. Month view cell contains the date along with its appointments if available.
MonthCell Style
You can customize the MonthView cell in two ways,
- MonthCellStyle property.
- MonthCellLoadedEvent.
Using MonthCellStyle property
MonthView can be customized by setting monthCellStyle properties such as TextColor,TextStyle,BackgroundColor to the MonthCellStyle
property of schedule.
MonthCellStyle monthCellStyle = new MonthCellStyle();
monthCellStyle.BackgroundColor = Color.Gray;
monthCellStyle.TextColor = Color.Blue;
monthCellStyle.TextSize = 12;
monthCellStyle.TextStyle = Font.SystemFontOfSize(15,FontAttributes.Bold);
schedule.MonthCellStyle = monthCellStyle;
Using MonthCellLoaded Event
You can customize the month view during runtime using MonthCellLoaded Event
. In MonthCellLoaded event, the properties such as CellStyle,Appointments,Calendar,view and boolean properties such as IsToday,IsPreviousMonthDate,IsNextMonthDate,IsBlackoutDate are passed in the MonthCellLoadedEventArgs
.
Month cells can be customized using the CellStyle
property as follows,
schedule.MonthCellLoaded += (object sender, SfSchedule.MonthCellLoadedEventArgs e) =>
{
if (e.P0.IsToday)
{
e.P0.CellStyle.BackgroundColor = Color.Gray;
e.P0.CellStyle.TextColor = Color.Blue;
e.P0.CellStyle.TextSize = 12;
e.P0.CellStyle.TextStyle = Font.SystemFontOfSize(15,FontAttributes.Bold);
}
};
MonthCell Custom View
You can also add an object in the month cell view using View
property passed through MonthCellLoadedEventArgs
.
schedule.MonthCellLoaded += (object sender, SfSchedule.MonthCellLoadedEventArgs e) =>
{
Button button = new Button(this);
button.SetBackgroundColor(Color.Red);
e.P0.View = button;
};
Inline view Customization.
You can able to know the details of appointments in inline using InlineAppointmentTapped
event in Schedule
. Details of the selected appointment and the corresponding date is passed through InlineAppointmentTappedEventArgs
as selectedAppointment
and selectedDate
respectively.
Inline Style
You can able to customize the inline view style using MonthInlineLoadedEvent
schedule.MonthInlineLoadedEvent += (object sender, SfSchedule.MonthInlineLoadedEventArgs e) =>
{
MonthInlineViewStyle monthInlineViewStyle = new MonthInlineViewStyle();
monthInlineViewStyle.BackgroundColor = Color.ParseColor("#F6F6F6");
monthInlineViewStyle.TextColor = Color.Black;
monthInlineViewStyle.TextSize = 12;
monthInlineViewStyle.TimeTextColor = Color.Black;
monthInlineViewStyle.TimeTextSize = 10;
e.P0.MonthInlineViewStyle = monthInlineViewStyle;
};
Inline Custom View
You can also add an object in the month cell view using View
property passed through MonthInlineAppointmentLoadedEvent
. To know about this refer the KB.
Inline Appointment Customization
You can able to know the details of appointments in inline using InlineAppointmentTappedEvent
event in Schedule
. Details of the selected appointment and the corresponding date is passed through InlineAppointmentTappedEventArgs
as selectedAppointment
and selectedDate
respectively.
Selection
Cells can be selected using customized properties by setting selectionStyle
property of Schedule.
Selection Style
Cells can be selected using customized properties such as BackgroundColor
, BorderColor
,BorderThickness
,CornerRadius
in the selectionStyle
property of Schedule.
SelectionStyle selectionStyle = new SelectionStyle();
selectionStyle.BackgroundColor = Color.Blue;
selectionStyle.BorderColor = Color.Yellow;
selectionStyle.BorderThickness = 5;
schedule.SelectionStyle = selectionStyle;
Selection View
Also custom view can be passed using the SelectionView
in Schedule.
Button button = new Button(context);
button.Text = "+ New event";
button.SetTextColor(Color.White);
button.Gravity = GravityFlags.Left;
button.SetBackgroundColor(Color.ForestGreen);
schedule.SelectionView = button;