Class
RadScheduler

RadScheduler is a comprehensive scheduling component that provides advanced calendar functionality with multiple view options, interactive appointment management, and extensive customization capabilities. It supports various views (Day, Week, Month), appointment CRUD operations through built-in dialogs, gesture navigation, recurrence patterns, and more.

Definition

Namespace:Telerik.Maui.Controls

Assembly:Telerik.Maui.Controls.dll

Syntax:

cs-api-definition
public class RadScheduler : RadBorder, IRadBorder, IRadContentView, IContentView, IView, IElement, ITransform, IPadding, ICrossPlatformLayout, INotifyPropertyChanged

Inheritance: objectRadContentViewRadBorderRadScheduler

Implements: IContentViewICrossPlatformLayoutIElementINotifyPropertyChangedIPaddingIRadBorderIRadContentViewITransformIView

Inherited Members RadBorder.BorderColorPropertyRadBorder.CornerRadiusPropertyRadBorder.BorderThicknessPropertyRadBorder.BorderBrushPropertyRadBorder.ChangeVisualState()RadBorder.BorderColorRadBorder.CornerRadiusRadBorder.BorderThicknessRadBorder.BorderBrushRadContentView.ActualStyleClassPropertyRadContentView.OnChildAdded(Element)RadContentView.OnChildRemoved(Element, int)RadContentView.OnHandlerChanged()

Constructors

RadScheduler()

Initializes a new instance of the RadScheduler class.

Declaration

cs-api-definition
public RadScheduler()

Fields

ActiveViewDefinitionHeaderItemStyleProperty

Identifies the ActiveViewDefinitionHeaderItemStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActiveViewDefinitionHeaderItemStyleProperty

Field Value

BindableProperty

ActiveViewDefinitionIndexProperty

Identifies the ActiveViewDefinitionIndex property.

Declaration

cs-api-definition
public static readonly BindableProperty ActiveViewDefinitionIndexProperty

Field Value

BindableProperty

ActiveViewDefinitionProperty

Identifies the ActiveViewDefinition property.

Declaration

cs-api-definition
public static readonly BindableProperty ActiveViewDefinitionProperty

Field Value

BindableProperty

ActualActiveViewDefinitionHeaderItemStyleProperty

Declaration

cs-api-definition
public static readonly BindableProperty ActualActiveViewDefinitionHeaderItemStyleProperty

Field Value

BindableProperty

ActualDecreaseVisibleRangeButtonStyleProperty

Identifies the ActualDecreaseVisibleRangeButtonStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualDecreaseVisibleRangeButtonStyleProperty

Field Value

BindableProperty

ActualDeleteAppointmentChoiceDialogStyleProperty

Declaration

cs-api-definition
public static readonly BindableProperty ActualDeleteAppointmentChoiceDialogStyleProperty

Field Value

BindableProperty

ActualDeleteRecurrenceChoiceDialogStyleProperty

Declaration

cs-api-definition
public static readonly BindableProperty ActualDeleteRecurrenceChoiceDialogStyleProperty

Field Value

BindableProperty

ActualEditAppointmentDialogStyleProperty

Identifies the ActualEditAppointmentDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualEditAppointmentDialogStyleProperty

Field Value

BindableProperty

ActualEditRecurrenceChoiceDialogStyleProperty

Identifies the ActualEditRecurrenceChoiceDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualEditRecurrenceChoiceDialogStyleProperty

Field Value

BindableProperty

ActualEditRecurrenceDialogStyleProperty

Identifies the ActualEditRecurrenceDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualEditRecurrenceDialogStyleProperty

Field Value

BindableProperty

ActualHeaderBorderStyleProperty

Identifies the ActualHeaderBorderStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualHeaderBorderStyleProperty

Field Value

BindableProperty

ActualHeaderIndicatorLabelStyleProperty

Identifies the ActualHeaderIndicatorLabelStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualHeaderIndicatorLabelStyleProperty

Field Value

BindableProperty

ActualHeaderLabelStyleProperty

Identifies the ActualHeaderLabelStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualHeaderLabelStyleProperty

Field Value

BindableProperty

ActualIncreaseVisibleRangeButtonStyleProperty

Identifies the ActualIncreaseVisibleRangeButtonStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualIncreaseVisibleRangeButtonStyleProperty

Field Value

BindableProperty

ActualPreviewAppointmentDialogStyleProperty

Identifies the ActualPreviewAppointmentDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualPreviewAppointmentDialogStyleProperty

Field Value

BindableProperty

ActualTodayButtonStyleProperty

Identifies the ActualTodayButtonStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualTodayButtonStyleProperty

Field Value

BindableProperty

ActualViewDefinitionHeaderItemStyleProperty

Identifies the ActualViewDefinitionHeaderItemStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ActualViewDefinitionHeaderItemStyleProperty

Field Value

BindableProperty

AppointmentDoubleTapCommandProperty

Identifies the AppointmentDoubleTapCommand bindable property.

Declaration

cs-api-definition
public static readonly BindableProperty AppointmentDoubleTapCommandProperty

Field Value

BindableProperty

AppointmentStyleSelectorProperty

Identifies the AppointmentStyleSelector property.

Declaration

cs-api-definition
public static readonly BindableProperty AppointmentStyleSelectorProperty

Field Value

BindableProperty

AppointmentTapCommandProperty

Identifies the AppointmentTapCommand bindable property.

Declaration

cs-api-definition
public static readonly BindableProperty AppointmentTapCommandProperty

Field Value

BindableProperty

AppointmentTemplateProperty

Identifies the AppointmentTemplate property.

Declaration

cs-api-definition
public static readonly BindableProperty AppointmentTemplateProperty

Field Value

BindableProperty

AppointmentsSourceProperty

Identifies the AppointmentsSource property.

Declaration

cs-api-definition
public static readonly BindableProperty AppointmentsSourceProperty

Field Value

BindableProperty

ControlTemplateProperty

Identifies the ControlTemplate property.

Declaration

cs-api-definition
public static readonly BindableProperty ControlTemplateProperty

Field Value

BindableProperty

CultureProperty

Identifies the Culture property.

Declaration

cs-api-definition
public static readonly BindableProperty CultureProperty

Field Value

BindableProperty

CurrentDateProperty

Identifies the CurrentDate property.

Declaration

cs-api-definition
public static readonly BindableProperty CurrentDateProperty

Field Value

BindableProperty

DecreaseVisibleRangeButtonStyleProperty

Identifies the DecreaseVisibleRangeButtonStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty DecreaseVisibleRangeButtonStyleProperty

Field Value

BindableProperty

DecreaseVisibleRangeCommandProperty

Identifies the DecreaseVisibleRangeCommand bindable property.

Declaration

cs-api-definition
public static readonly BindableProperty DecreaseVisibleRangeCommandProperty

Field Value

BindableProperty

DeleteAppointmentChoiceDialogStyleProperty

Identifies the DeleteAppointmentChoiceDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty DeleteAppointmentChoiceDialogStyleProperty

Field Value

BindableProperty

DeleteRecurrenceChoiceDialogStyleProperty

Identifies the DeleteRecurrenceChoiceDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty DeleteRecurrenceChoiceDialogStyleProperty

Field Value

BindableProperty

EditAppointmentDialogStyleProperty

Identifies the EditAppointmentDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty EditAppointmentDialogStyleProperty

Field Value

BindableProperty

EditRecurrenceChoiceDialogStyleProperty

Identifies the EditRecurrenceChoiceDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty EditRecurrenceChoiceDialogStyleProperty

Field Value

BindableProperty

EditRecurrenceDialogStyleProperty

Identifies the EditRecurrenceDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty EditRecurrenceDialogStyleProperty

Field Value

BindableProperty

HeaderBorderStyleProperty

Identifies the HeaderBorderStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty HeaderBorderStyleProperty

Field Value

BindableProperty

HeaderIndicatorLabelStyleProperty

Identifies the HeaderIndicatorLabelStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty HeaderIndicatorLabelStyleProperty

Field Value

BindableProperty

HeaderLabelStyleProperty

Identifies the HeaderLabelStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty HeaderLabelStyleProperty

Field Value

BindableProperty

HeaderTextProperty

Identifies the HeaderText property.

Declaration

cs-api-definition
public static readonly BindableProperty HeaderTextProperty

Field Value

BindableProperty

IncreaseVisibleRangeButtonStyleProperty

Identifies the IncreaseVisibleRangeButtonStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty IncreaseVisibleRangeButtonStyleProperty

Field Value

BindableProperty

IncreaseVisibleRangeCommandProperty

Identifies the IncreaseVisibleRangeCommand bindable property.

Declaration

cs-api-definition
public static readonly BindableProperty IncreaseVisibleRangeCommandProperty

Field Value

BindableProperty

InteractionModeProperty

Identifies the InteractionMode property.

Declaration

cs-api-definition
public static readonly BindableProperty InteractionModeProperty

Field Value

BindableProperty

IsTodayButtonVisibleProperty

Identifies the IsTodayButtonVisible property.

Declaration

cs-api-definition
public static readonly BindableProperty IsTodayButtonVisibleProperty

Field Value

BindableProperty

MonthDayDoubleTapCommandProperty

Identifies the MonthDayDoubleTapCommand bindable property.

Declaration

cs-api-definition
public static readonly BindableProperty MonthDayDoubleTapCommandProperty

Field Value

BindableProperty

MonthDayTapCommandProperty

Identifies the MonthDayTapCommand bindable property.

Declaration

cs-api-definition
public static readonly BindableProperty MonthDayTapCommandProperty

Field Value

BindableProperty

PreviewAppointmentDialogStyleProperty

Identifies the PreviewAppointmentDialogStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty PreviewAppointmentDialogStyleProperty

Field Value

BindableProperty

SlotDoubleTapCommandProperty

Identifies the SlotDoubleTapCommand bindable property.

Declaration

cs-api-definition
public static readonly BindableProperty SlotDoubleTapCommandProperty

Field Value

BindableProperty

SlotTapCommandProperty

Identifies the SlotTapCommand bindable property.

Declaration

cs-api-definition
public static readonly BindableProperty SlotTapCommandProperty

Field Value

BindableProperty

TodayButtonStyleProperty

Identifies the TodayButtonStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty TodayButtonStyleProperty

Field Value

BindableProperty

TodayCommandProperty

Identifies the TodayCommand bindable property.

Declaration

cs-api-definition
public static readonly BindableProperty TodayCommandProperty

Field Value

BindableProperty

ViewDefinitionHeaderItemStyleProperty

Identifies the ViewDefinitionHeaderItemStyle property.

Declaration

cs-api-definition
public static readonly BindableProperty ViewDefinitionHeaderItemStyleProperty

Field Value

BindableProperty

ViewDefinitionsProperty

Identifies the ViewDefinitions property.

Declaration

cs-api-definition
public static readonly BindableProperty ViewDefinitionsProperty

Field Value

BindableProperty

VisibleRangeProperty

Identifies the VisibleRange property.

Declaration

cs-api-definition
public static readonly BindableProperty VisibleRangeProperty

Field Value

BindableProperty

Properties

ActiveViewDefinition

Gets or sets the currently active view definition that determines how the scheduler displays dates and appointments. This property controls the visual layout, time slots, and navigation behavior of the scheduler.

Declaration

cs-api-definition
public ViewDefinitionBase ActiveViewDefinition { get; set; }

Property Value

ViewDefinitionBase

A ViewDefinitionBase-derived object (DayViewDefinition, WeekViewDefinition, MonthViewDefinition, etc.).

ActiveViewDefinitionHeaderItemStyle

Gets or sets the style for the active view definition item that is displayed in the header.

Declaration

cs-api-definition
public Style ActiveViewDefinitionHeaderItemStyle { get; set; }

Property Value

Style

ActiveViewDefinitionIndex

Gets or sets the zero-based index of the currently active view definition. This property allows programmatic switching between different view types defined in the ViewDefinitions collection.

Declaration

cs-api-definition
public int ActiveViewDefinitionIndex { get; set; }

Property Value

int

An integer representing the index of the active view definition. Default is -1 (no active view).

Remarks

When set, this property automatically updates the ActiveViewDefinition property to the corresponding ViewDefinitionBase object from the ViewDefinitions collection. Setting an invalid index has no effect.

ActualActiveViewDefinitionHeaderItemStyle

Gets the actual style of the active view definition item that is displayed in the header.

Declaration

cs-api-definition
public Style ActualActiveViewDefinitionHeaderItemStyle { get; }

Property Value

Style

ActualDecreaseVisibleRangeButtonStyle

Gets the actual style of the Button that navigates to the previous view.

Declaration

cs-api-definition
public Style ActualDecreaseVisibleRangeButtonStyle { get; }

Property Value

Style

ActualDeleteAppointmentChoiceDialogStyle

Gets the actual style for the delete appointment choice dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style ActualDeleteAppointmentChoiceDialogStyle { get; }

Property Value

Style

ActualDeleteRecurrenceChoiceDialogStyle

Gets the actual style for the delete recurrence choice dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style ActualDeleteRecurrenceChoiceDialogStyle { get; }

Property Value

Style

ActualEditAppointmentDialogStyle

Gets the actual style for the edit appointment dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style ActualEditAppointmentDialogStyle { get; }

Property Value

Style

ActualEditRecurrenceChoiceDialogStyle

Gets the actual style for the edit recurrence choice dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style ActualEditRecurrenceChoiceDialogStyle { get; }

Property Value

Style

ActualEditRecurrenceDialogStyle

Gets the actual style for the edit recurrence dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style ActualEditRecurrenceDialogStyle { get; }

Property Value

Style

ActualHeaderBorderStyle

Gets the actual style for the header border.

Declaration

cs-api-definition
public Style ActualHeaderBorderStyle { get; }

Property Value

Style

ActualHeaderIndicatorLabelStyle

Gets the actual style of the header indicator label.

Declaration

cs-api-definition
public Style ActualHeaderIndicatorLabelStyle { get; }

Property Value

Style

ActualHeaderLabelStyle

Gets the actual style for the header label.

Declaration

cs-api-definition
public Style ActualHeaderLabelStyle { get; }

Property Value

Style

ActualIncreaseVisibleRangeButtonStyle

Gets the actual style of the Button that navigates to the next view.

Declaration

cs-api-definition
public Style ActualIncreaseVisibleRangeButtonStyle { get; }

Property Value

Style

ActualPreviewAppointmentDialogStyle

Gets the actual style for the preview appointment dialog control of type SchedulerDialog. This dialog is only used in Android and iOS.

Declaration

cs-api-definition
public Style ActualPreviewAppointmentDialogStyle { get; }

Property Value

Style

ActualTodayButtonStyle

Gets the actual style of the today button.

Declaration

cs-api-definition
public Style ActualTodayButtonStyle { get; }

Property Value

Style

ActualViewDefinitionHeaderItemStyle

Gets the actual style of the view definition item that is displayed in the header.

Declaration

cs-api-definition
public Style ActualViewDefinitionHeaderItemStyle { get; }

Property Value

Style

AppointmentDoubleTapCommand

Gets or sets the command executed when an appointment is double-tapped. The command parameter is an Occurrence object representing the double-tapped appointment instance.

Declaration

cs-api-definition
public ICommand AppointmentDoubleTapCommand { get; set; }

Property Value

ICommand

An ICommand that receives an Occurrence parameter representing the double-tapped appointment.

Remarks

This command provides a way to handle appointment double-tap events programmatically. The Occurrence parameter contains information about the specific appointment instance, including the underlying IAppointment data, actual start/end times (for recurring appointments), and recurrence state.

On desktop platforms (Windows/macOS), double-tapping an appointment automatically opens the edit appointment dialog. On mobile platforms (iOS/Android), single tap is used for dialog opening, while double-tap fires this command.

AppointmentStyleSelector

Gets or sets the style selector that provides dynamic styling for appointments based on their properties. This allows different appointments to have different visual appearances based on custom logic.

Declaration

cs-api-definition
public IStyleSelector AppointmentStyleSelector { get; set; }

Property Value

IStyleSelector

An IStyleSelector implementation that returns appropriate styles for appointments.

Remarks

The AppointmentStyleSelector provides more flexibility than a single AppointmentTemplate by allowing conditional styling based on appointment properties like subject, category, importance, or custom data. The selector receives the appointment's Occurrence object and should return an appropriate Style.

AppointmentTapCommand

Gets or sets the command executed when an appointment is tapped (single tap). The command parameter is an Occurrence object representing the tapped appointment instance.

Declaration

cs-api-definition
public ICommand AppointmentTapCommand { get; set; }

Property Value

ICommand

An ICommand that receives an Occurrence parameter representing the tapped appointment.

Remarks

This command provides a way to handle appointment tap events programmatically. The Occurrence parameter contains information about the specific appointment instance, including the underlying IAppointment data, actual start/end times (for recurring appointments), and recurrence state.

On mobile platforms (iOS/Android), tapping an appointment also automatically opens the appointment preview dialog. On desktop platforms (Windows/macOS), double-tap is used for dialog opening, while single tap only fires this command.

AppointmentTemplate

Gets or sets the data template used to customize the visual representation of appointments. This template defines how appointment data is displayed within each appointment slot.

Declaration

cs-api-definition
public DataTemplate AppointmentTemplate { get; set; }

Property Value

DataTemplate

A DataTemplate that defines the appointment's visual structure and data binding.

Remarks

The AppointmentTemplate allows complete customization of appointment appearance, including layout, colors, fonts, and additional elements. The template's BindingContext is set to the Occurrence object, which provides access to the underlying IAppointment data and timing information. When null, appointments use the default built-in template showing the subject text.

AppointmentsSource

Gets or sets the collection of appointments to be displayed in the scheduler. This property supports data binding and automatically updates the scheduler when the collection changes.

Declaration

cs-api-definition
public IEnumerable<IAppointment> AppointmentsSource { get; set; }

Property Value

IEnumerable<IAppointment>

An IEnumerable<IAppointment> collection containing the appointments to display.

Remarks

The appointments source can be any collection implementing IEnumerable<Appointment>. For automatic UI updates when appointments are added/removed, use ObservableCollection<Appointment>. Each appointment must implement the IAppointment interface with properties like Start, End, Subject, etc.

You can use the following types for this collection:

  • Appointment - A complete ready-to-use implementation of IAppointment with additional properties like Body, Location, UniqueId, and URL. This is the recommended type for most scenarios as it provides all necessary functionality out-of-the-box.
  • IAppointment - The core interface that defines the contract for appointment objects. This interface must be implemented if creating custom appointment types. Requires implementing properties like Start, End, Subject, IsAllDay, RecurrenceRule, TimeZone, plus methods for Copy(), CopyFrom(), Equals(), and INotifyPropertyChanged support.

ControlTemplate

Gets or sets the control template that defines the visual structure of the RadScheduler. Use this property to completely customize the layout and appearance of the scheduler, including headers, content areas, and navigation buttons.

Declaration

cs-api-definition
public ControlTemplate ControlTemplate { get; set; }

Property Value

ControlTemplate

A ControlTemplate that defines the visual tree for the scheduler.

Culture

Gets or sets the culture information used for date formatting, localization, and cultural conventions. This property affects date/time display formats, first day of the week, and localized text throughout the scheduler.

Declaration

cs-api-definition
public CultureInfo Culture { get; set; }

Property Value

CultureInfo

A CultureInfo object representing the desired culture. When null, uses the system's current culture.

Remarks

The culture setting affects:

  • Date and time formatting in headers and appointments
  • First day of the week in week and month views

CurrentDate

Gets or sets the primary date that determines the visible range of the scheduler. The actual visible range depends on the active view definition. For example, in WeekView, this date determines which week is displayed; in MonthView, which month is shown.

Declaration

cs-api-definition
public DateTime CurrentDate { get; set; }

Property Value

DateTime

A DateTime representing the focal date for the current view. Default is today's date.

Remarks

This property supports two-way data binding. When the user navigates to different dates using gestures or navigation buttons, this property is automatically updated.

DecreaseVisibleRangeButtonStyle

Gets or sets the style applied to the backward navigation button in the scheduler header. This button allows users to navigate to the previous time period (previous week, month, etc.).

Declaration

cs-api-definition
public Style DecreaseVisibleRangeButtonStyle { get; set; }

Property Value

Style

A Style object that targets the backward navigation button.

Remarks

The backward navigation button executes the DecreaseVisibleRangeCommand when tapped. The navigation decrement depends on the active view definition (1 day for day view, 1 week for week view, etc.). You can style button properties like background color, text color, font, border, and size.

DecreaseVisibleRangeCommand

Gets or sets the command executed when navigating to the previous time period (backward navigation). This command is triggered by the backward navigation button or programmatic navigation calls.

Declaration

cs-api-definition
public ICommand DecreaseVisibleRangeCommand { get; set; }

Property Value

ICommand

An ICommand that handles backward navigation. Default is the built-in DecreaseVisibleRangeCommand.

Remarks

This command is executed when:

  • The user taps the backward navigation button
  • Swipe gestures navigate backward (when InteractionMode allows)
  • Programmatic navigation methods are called

You can provide a custom command to handle navigation events or add additional logic.

DeleteAppointmentChoiceDialogStyle

Gets or sets the Style that will be applied on the delete appointment choice dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style DeleteAppointmentChoiceDialogStyle { get; set; }

Property Value

Style

DeleteRecurrenceChoiceDialogStyle

Gets or sets the Style that will be applied on the delete recurrence choice dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style DeleteRecurrenceChoiceDialogStyle { get; set; }

Property Value

Style

EditAppointmentDialogStyle

Gets or sets the Style that will be applied on the edit appointment dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style EditAppointmentDialogStyle { get; set; }

Property Value

Style

EditRecurrenceChoiceDialogStyle

Gets or sets the Style that will be applied on the edit recurrence choice dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style EditRecurrenceChoiceDialogStyle { get; set; }

Property Value

Style

EditRecurrenceDialogStyle

Gets or sets the Style that will be applied on the edit recurrence dialog control of type SchedulerDialog.

Declaration

cs-api-definition
public Style EditRecurrenceDialogStyle { get; set; }

Property Value

Style

HeaderBorderStyle

Gets or sets the style applied to the border element that contains the scheduler header. This style controls the visual appearance of the container around the header content.

Declaration

cs-api-definition
public Style HeaderBorderStyle { get; set; }

Property Value

Style

A Style object that targets the header border element.

Remarks

The header border surrounds the entire header area including navigation buttons, title, and view switcher. You can style properties like background color, border thickness, corner radius, and padding.

HeaderIndicatorLabelStyle

Gets or sets the style for the header indicator label.

Declaration

cs-api-definition
public Style HeaderIndicatorLabelStyle { get; set; }

Property Value

Style

HeaderLabelStyle

Gets or sets the style applied to the label that displays the current date range in the scheduler header. This style controls the appearance of the main header text showing the current view's date information.

Declaration

cs-api-definition
public Style HeaderLabelStyle { get; set; }

Property Value

Style

A Style object that targets the header label element.

Remarks

The header label displays formatted date information based on the active view definition and HeaderTextFormat property. For example, it might show "October 2023" in month view or "October 16-22, 2023" in week view. You can style text properties like font size, color, weight, and alignment.

HeaderText

Gets the header text of the scheduler.

Declaration

cs-api-definition
public string HeaderText { get; }

Property Value

string

IncreaseVisibleRangeButtonStyle

Gets or sets the style applied to the forward navigation button in the scheduler header. This button allows users to navigate to the next time period (next week, month, etc.).

Declaration

cs-api-definition
public Style IncreaseVisibleRangeButtonStyle { get; set; }

Property Value

Style

A Style object that targets the forward navigation button.

Remarks

The forward navigation button executes the IncreaseVisibleRangeCommand when tapped. The navigation increment depends on the active view definition (1 day for day view, 1 week for week view, etc.). You can style button properties like background color, text color, font, border, and size.

IncreaseVisibleRangeCommand

Gets or sets the command executed when navigating to the next time period (forward navigation). This command is triggered by the forward navigation button or programmatic navigation calls.

Declaration

cs-api-definition
public ICommand IncreaseVisibleRangeCommand { get; set; }

Property Value

ICommand

An ICommand that handles forward navigation. Default is the built-in IncreaseVisibleRangeCommand.

Remarks

This command is executed when:

  • The user taps the forward navigation button
  • Swipe gestures navigate forward (when InteractionMode allows)
  • Programmatic navigation methods are called

You can provide a custom command to handle navigation events or add additional logic.

InteractionMode

Gets or sets the interaction mode that controls how users can navigate and interact with the scheduler. This property determines which touch gestures are enabled for navigation between time periods.

Declaration

cs-api-definition
public SchedulerInteractionMode InteractionMode { get; set; }

Property Value

SchedulerInteractionMode

A SchedulerInteractionMode value that specifies the enabled interaction types.

Remarks

Available interaction modes:

  • None: Disables gesture-based navigation; users can only navigate using buttons
  • Pan: Enables pan gesture navigation between time periods (swipe left/right to navigate)

When Pan mode is enabled, users can swipe horizontally to move between weeks, months, or days depending on the active view definition. This provides a more fluid navigation experience.

IsTodayButtonVisible

Gets or sets a value indicating whether the "Today" button is visible in the scheduler header. When visible, this button allows users to quickly navigate to the current date regardless of the current view.

Declaration

cs-api-definition
public bool IsTodayButtonVisible { get; set; }

Property Value

bool

True if the Today button should be visible; otherwise, false. Default is true.

Remarks

The Today button appears in the scheduler header and executes the TodayCommand when tapped. Hiding this button removes one navigation option but may be useful for custom UI layouts.

MonthDayDoubleTapCommand

Gets or sets the command executed when a day cell is double-tapped in month view. The command parameter is a DateTime representing the double-tapped date.

Declaration

cs-api-definition
public ICommand MonthDayDoubleTapCommand { get; set; }

Property Value

ICommand

An ICommand that receives a DateTime parameter representing the double-tapped date.

Remarks

This command is only applicable in month view and provides a way to handle day cell double-tap events. The DateTime parameter represents the specific date that was double-tapped, allowing for day-specific operations.

On desktop platforms (Windows/macOS), double-tapping a day in month view automatically opens the create appointment dialog for that date. On mobile platforms (iOS/Android), single tap is used for dialog opening.

MonthDayTapCommand

Gets or sets the command executed when a day cell is tapped in month view (single tap). The command parameter is a DateTime representing the tapped date.

Declaration

cs-api-definition
public ICommand MonthDayTapCommand { get; set; }

Property Value

ICommand

An ICommand that receives a DateTime parameter representing the tapped date.

Remarks

This command is only applicable in month view and provides a way to handle day cell tap events. The DateTime parameter represents the specific date that was tapped, allowing for day-specific operations.

On mobile platforms (iOS/Android), tapping a day in month view also automatically opens the create appointment dialog for that date. On desktop platforms (Windows/macOS), double-tap is used for dialog opening.

PreviewAppointmentDialogStyle

Gets or sets the Style that will be applied on the preview appointment dialog control of type SchedulerDialog. This dialog is only used in Android and iOS.

Declaration

cs-api-definition
public Style PreviewAppointmentDialogStyle { get; set; }

Property Value

Style

SlotDoubleTapCommand

Gets or sets the command executed when an empty time slot is double-tapped. The command parameter is a Slot object representing the double-tapped time slot.

Declaration

cs-api-definition
public ICommand SlotDoubleTapCommand { get; set; }

Property Value

ICommand

An ICommand that receives a Slot parameter representing the double-tapped time slot.

Remarks

This command provides a way to handle time slot double-tap events programmatically. The Slot parameter contains the start and end times of the double-tapped slot, which can be used to create new appointments or perform other slot-related operations.

On desktop platforms (Windows/macOS), double-tapping an empty slot automatically opens the create appointment dialog. On mobile platforms (iOS/Android), single tap is used for dialog opening, while double-tap fires this command.

SlotTapCommand

Gets or sets the command executed when an empty time slot is tapped (single tap). The command parameter is a Slot object representing the tapped time slot.

Declaration

cs-api-definition
public ICommand SlotTapCommand { get; set; }

Property Value

ICommand

An ICommand that receives a Slot parameter representing the tapped time slot.

Remarks

This command provides a way to handle time slot tap events programmatically. The Slot parameter contains the start and end times of the tapped slot, which can be used to create new appointments or perform other slot-related operations.

On mobile platforms (iOS/Android), tapping an empty slot also automatically opens the create appointment dialog. On desktop platforms (Windows/macOS), double-tap is used for dialog opening, while single tap only fires this command.

TodayButtonStyle

Gets or sets the style applied to the "Today" button in the scheduler header. This button allows users to quickly navigate to the current date from any other date.

Declaration

cs-api-definition
public Style TodayButtonStyle { get; set; }

Property Value

Style

A Style object that targets the Today button.

Remarks

The Today button executes the TodayCommand when tapped, setting the CurrentDate to DateTime.Today. The button is only visible when the IsTodayButtonVisible property is true (default). You can style button properties like background color, text color, font, border, and size.

TodayCommand

Gets or sets the command executed when the Today button is tapped or when navigating to the current date. This command allows users to quickly return to today's date from any other date in the scheduler.

Declaration

cs-api-definition
public ICommand TodayCommand { get; set; }

Property Value

ICommand

An ICommand that handles today navigation. Default is the built-in TodayCommand.

Remarks

This command is executed when:

  • The user taps the Today button (if visible)
  • Programmatic navigation to today is requested

The command updates the CurrentDate property to DateTime.Today and refreshes the view accordingly.

ViewDefinitionHeaderItemStyle

Gets or sets the style for the view definition item that is displayed in the header.

Declaration

cs-api-definition
public Style ViewDefinitionHeaderItemStyle { get; set; }

Property Value

Style

ViewDefinitions

Gets the collection of view definitions that determine the available viewing modes for the scheduler. Each view definition specifies how dates and time slots are displayed and organized.

Declaration

cs-api-definition
public ObservableCollection<ViewDefinitionBase> ViewDefinitions { get; }

Property Value

ObservableCollection<ViewDefinitionBase>

An ObservableCollection<ViewDefinitionBase> containing the available view definitions.

Remarks

The ViewDefinitions collection supports various view types:

  • DayViewDefinition - Shows a single day with detailed hourly time slots for precise appointment scheduling
  • WeekViewDefinition - Displays a complete week (7 days) with configurable first day of week and weekend visibility
  • MonthViewDefinition - Provides a traditional monthly calendar view with 42-day grid layout
  • MultidayViewDefinition - Shows a custom number of consecutive days (2-10) in timeline format

Users can switch between view definitions using the header controls or programmatically via the ActiveViewDefinitionIndex property. Each view definition can have its own title and formatting options.

VisibleRange

Gets the visible range of the scheduler.

Declaration

cs-api-definition
public IDateRange VisibleRange { get; }

Property Value

IDateRange

Methods

CreateAppointmentWithDialog(DateRange, bool)

Opens the create appointment dialog, allowing the user to create a new appointment for the specified time range. This method programmatically triggers the same dialog that appears when users tap empty time slots.

Declaration

cs-api-definition
public void CreateAppointmentWithDialog(DateRange range, bool isAllDay = false)

Parameters

range

DateRange

The date and time range for the new appointment. This sets the initial start and end times in the dialog.

isAllDay

bool

Whether the appointment should be created as an all-day appointment. Default is false.

Remarks

The create appointment dialog provides fields for entering appointment details like subject, description, recurrence pattern, and other properties. The dialog's appearance can be customized using the EditAppointmentDialogStyle property.

When the user saves the appointment, it should be added to the AppointmentsSource collection to appear in the scheduler. The dialog behavior may vary slightly between platforms (mobile vs desktop).

DeleteAppointmentWithDialog(Occurrence)

Opens the delete appointment confirmation dialog, allowing the user to delete an existing appointment occurrence. This method provides a user-friendly way to delete appointments with proper confirmation prompts.

Declaration

cs-api-definition
public void DeleteAppointmentWithDialog(Occurrence occurrence)

Parameters

occurrence

Occurrence

The appointment occurrence to delete. This identifies the specific appointment instance to remove.

Remarks

The delete appointment dialog provides confirmation before deletion and handles different scenarios:

  • For single appointments: Shows a simple delete confirmation
  • For recurring appointments: May offer options to delete just this occurrence or the entire series

The dialog's appearance can be customized using the DeleteAppointmentChoiceDialogStyle and DeleteRecurrenceChoiceDialogStyle properties for different dialog types.

When the user confirms deletion, the appointment should be removed from the AppointmentsSource collection. The dialog behavior may vary between platforms, with desktop platforms showing more detailed confirmation options.

EditAppointmentWithDialog(Occurrence)

Opens the edit appointment dialog, allowing the user to modify an existing appointment occurrence. This method programmatically triggers the same dialog that appears when users tap appointments.

Declaration

cs-api-definition
public void EditAppointmentWithDialog(Occurrence occurrence)

Parameters

occurrence

Occurrence

The appointment occurrence to edit. This provides the current appointment data and timing information.

Remarks

The edit appointment dialog is pre-populated with the current appointment data and allows modification of properties like subject, description, time, recurrence pattern, and other details.

For recurring appointments, the dialog may present options to edit just this occurrence or the entire series. The dialog's appearance can be customized using the EditAppointmentDialogStyle property.

When the user saves changes, the underlying appointment object in the AppointmentsSource collection should be updated. The dialog behavior may vary slightly between platforms (mobile vs desktop).

OnApplyTemplate()

Declaration

cs-api-definition
protected override void OnApplyTemplate()

OnBindingContextChanged()

Invoked whenever the binding context of the control changes.

Declaration

cs-api-definition
protected override void OnBindingContextChanged()

Overrides RadContentView.OnBindingContextChanged()

ScrollIntoView(TimeOnly)

Scrolls the scheduler vertically to bring the specified time into view. This method is useful for programmatically navigating to a specific time of day within the current date view.

Declaration

cs-api-definition
public void ScrollIntoView(TimeOnly time)

Parameters

time

TimeOnly

The time to scroll to. This represents the time of day (hours and minutes) to make visible.

Remarks

This method only applies to views that display time slots (DayView, WeekView, MultidayView) and has no effect in MonthView. If the scheduler is not yet loaded when this method is called, the scroll operation will be deferred until loading completes. The scroll operation is animated by default to provide smooth user experience.

Events

AppointmentDoubleTapped

Occurs when the user double-taps on an appointment. This event provides access to the double-tapped appointment data and allows custom handling of appointment interactions.

Declaration

cs-api-definition
public event EventHandler<TappedEventArgs<Occurrence>> AppointmentDoubleTapped

Event Value

EventHandler<TappedEventArgs<Occurrence>>

Remarks

This event is raised in conjunction with the AppointmentDoubleTapCommand. The event args contain a TappedEventArgs<Occurrence> with the Occurrence object representing the double-tapped appointment instance.

Platform behavior:

  • On desktop platforms (Windows/macOS): Double-tap also opens the appointment edit dialog
  • On mobile platforms (iOS/Android): Only fires the event; single tap opens the dialog

The Occurrence object provides access to both the underlying IAppointment data and the specific instance information for recurring appointments.

AppointmentTapped

Occurs when the user taps (single tap) on an appointment. This event provides access to the tapped appointment data and allows custom handling of appointment interactions.

Declaration

cs-api-definition
public event EventHandler<TappedEventArgs<Occurrence>> AppointmentTapped

Event Value

EventHandler<TappedEventArgs<Occurrence>>

Remarks

This event is raised in conjunction with the AppointmentTapCommand. The event args contain a TappedEventArgs<Occurrence> with the Occurrence object representing the tapped appointment instance.

Platform behavior:

  • On mobile platforms (iOS/Android): Single tap also opens the appointment preview/edit dialog
  • On desktop platforms (Windows/macOS): Only fires the event; double-tap opens the dialog

The Occurrence object provides access to both the underlying IAppointment data and the specific instance information for recurring appointments.

DialogClosing

Occurs when a scheduler dialog is about to be closed. This event allows handling of dialog closing operations and accessing any changes made in the dialog.

Declaration

cs-api-definition
public event EventHandler<SchedulerDialogClosingEventArgs> DialogClosing

Event Value

EventHandler<SchedulerDialogClosingEventArgs>

Remarks

This event is raised before any of the built-in scheduler dialogs are closed, including:

  • Create appointment dialog
  • Edit appointment dialog
  • Delete confirmation dialogs
  • Recurrence editing dialogs

The event args provide information about the dialog type. This is useful for implementing custom save logic or validation before the dialog closes.

DialogOpening

Occurs when a scheduler dialog is about to be opened. This event allows customization or cancellation of dialog opening operations.

Declaration

cs-api-definition
public event EventHandler<SchedulerDialogOpeningEventArgs> DialogOpening

Event Value

EventHandler<SchedulerDialogOpeningEventArgs>

Remarks

This event is raised before any of the built-in scheduler dialogs are displayed, including:

  • Create appointment dialog
  • Edit appointment dialog
  • Delete confirmation dialogs
  • Recurrence editing dialogs

The event args provide information about the dialog type and allow cancellation of the dialog opening. This is useful for implementing custom dialogs or modifying dialog behavior based on application logic.

MonthDayDoubleTapped

Occurs when the user double-taps on a day cell in month view. This event provides access to the double-tapped date and allows custom handling of day interactions in month view.

Declaration

cs-api-definition
public event EventHandler<TappedEventArgs<DateTime>> MonthDayDoubleTapped

Event Value

EventHandler<TappedEventArgs<DateTime>>

Remarks

This event is raised in conjunction with the MonthDayDoubleTapCommand. The event args contain a TappedEventArgs<DateTime> with the DateTime representing the double-tapped date.

Platform behavior:

  • On desktop platforms (Windows/macOS): Double-tap also opens the create appointment dialog for that date
  • On mobile platforms (iOS/Android): Only fires the event; single tap opens the dialog

This event only applies to Month view and is not raised in Day, Week, or Multiday views.

MonthDayTapped

Occurs when the user taps (single tap) on a day cell in month view. This event provides access to the tapped date and allows custom handling of day selection in month view.

Declaration

cs-api-definition
public event EventHandler<TappedEventArgs<DateTime>> MonthDayTapped

Event Value

EventHandler<TappedEventArgs<DateTime>>

Remarks

This event is raised in conjunction with the MonthDayTapCommand. The event args contain a TappedEventArgs<DateTime> with the DateTime representing the tapped date.

Platform behavior:

  • On mobile platforms (iOS/Android): Single tap also opens the create appointment dialog for that date
  • On desktop platforms (Windows/macOS): Only fires the event; double-tap opens the dialog

This event only applies to Month view and is not raised in Day, Week, or Multiday views.

SlotDoubleTapped

Occurs when the user double-taps on an empty time slot. This event provides access to the double-tapped time slot information and allows custom handling of slot interactions.

Declaration

cs-api-definition
public event EventHandler<TappedEventArgs<Slot>> SlotDoubleTapped

Event Value

EventHandler<TappedEventArgs<Slot>>

Remarks

This event is raised in conjunction with the SlotDoubleTapCommand. The event args contain a TappedEventArgs<Slot> with the Slot object representing the double-tapped time slot's date and time range.

Platform behavior:

  • On desktop platforms (Windows/macOS): Double-tap also opens the create appointment dialog
  • On mobile platforms (iOS/Android): Only fires the event; single tap opens the dialog

This event only applies to views with time slots (Day, Week, Multiday) and not to Month view.

SlotTapped

Occurs when the user taps (single tap) on an empty time slot. This event provides access to the tapped time slot information and allows custom handling of slot interactions.

Declaration

cs-api-definition
public event EventHandler<TappedEventArgs<Slot>> SlotTapped

Event Value

EventHandler<TappedEventArgs<Slot>>

Remarks

This event is raised in conjunction with the SlotTapCommand. The event args contain a TappedEventArgs<Slot> with the Slot object representing the tapped time slot's date and time range.

Platform behavior:

  • On mobile platforms (iOS/Android): Single tap also opens the create appointment dialog
  • On desktop platforms (Windows/macOS): Only fires the event; double-tap opens the dialog

This event only applies to views with time slots (Day, Week, Multiday) and not to Month view.

In this article
DefinitionConstructorsRadScheduler()FieldsActiveViewDefinitionHeaderItemStylePropertyActiveViewDefinitionIndexPropertyActiveViewDefinitionPropertyActualActiveViewDefinitionHeaderItemStylePropertyActualDecreaseVisibleRangeButtonStylePropertyActualDeleteAppointmentChoiceDialogStylePropertyActualDeleteRecurrenceChoiceDialogStylePropertyActualEditAppointmentDialogStylePropertyActualEditRecurrenceChoiceDialogStylePropertyActualEditRecurrenceDialogStylePropertyActualHeaderBorderStylePropertyActualHeaderIndicatorLabelStylePropertyActualHeaderLabelStylePropertyActualIncreaseVisibleRangeButtonStylePropertyActualPreviewAppointmentDialogStylePropertyActualTodayButtonStylePropertyActualViewDefinitionHeaderItemStylePropertyAppointmentDoubleTapCommandPropertyAppointmentStyleSelectorPropertyAppointmentTapCommandPropertyAppointmentTemplatePropertyAppointmentsSourcePropertyControlTemplatePropertyCulturePropertyCurrentDatePropertyDecreaseVisibleRangeButtonStylePropertyDecreaseVisibleRangeCommandPropertyDeleteAppointmentChoiceDialogStylePropertyDeleteRecurrenceChoiceDialogStylePropertyEditAppointmentDialogStylePropertyEditRecurrenceChoiceDialogStylePropertyEditRecurrenceDialogStylePropertyHeaderBorderStylePropertyHeaderIndicatorLabelStylePropertyHeaderLabelStylePropertyHeaderTextPropertyIncreaseVisibleRangeButtonStylePropertyIncreaseVisibleRangeCommandPropertyInteractionModePropertyIsTodayButtonVisiblePropertyMonthDayDoubleTapCommandPropertyMonthDayTapCommandPropertyPreviewAppointmentDialogStylePropertySlotDoubleTapCommandPropertySlotTapCommandPropertyTodayButtonStylePropertyTodayCommandPropertyViewDefinitionHeaderItemStylePropertyViewDefinitionsPropertyVisibleRangePropertyPropertiesActiveViewDefinitionActiveViewDefinitionHeaderItemStyleActiveViewDefinitionIndexActualActiveViewDefinitionHeaderItemStyleActualDecreaseVisibleRangeButtonStyleActualDeleteAppointmentChoiceDialogStyleActualDeleteRecurrenceChoiceDialogStyleActualEditAppointmentDialogStyleActualEditRecurrenceChoiceDialogStyleActualEditRecurrenceDialogStyleActualHeaderBorderStyleActualHeaderIndicatorLabelStyleActualHeaderLabelStyleActualIncreaseVisibleRangeButtonStyleActualPreviewAppointmentDialogStyleActualTodayButtonStyleActualViewDefinitionHeaderItemStyleAppointmentDoubleTapCommandAppointmentStyleSelectorAppointmentTapCommandAppointmentTemplateAppointmentsSourceControlTemplateCultureCurrentDateDecreaseVisibleRangeButtonStyleDecreaseVisibleRangeCommandDeleteAppointmentChoiceDialogStyleDeleteRecurrenceChoiceDialogStyleEditAppointmentDialogStyleEditRecurrenceChoiceDialogStyleEditRecurrenceDialogStyleHeaderBorderStyleHeaderIndicatorLabelStyleHeaderLabelStyleHeaderTextIncreaseVisibleRangeButtonStyleIncreaseVisibleRangeCommandInteractionModeIsTodayButtonVisibleMonthDayDoubleTapCommandMonthDayTapCommandPreviewAppointmentDialogStyleSlotDoubleTapCommandSlotTapCommandTodayButtonStyleTodayCommandViewDefinitionHeaderItemStyleViewDefinitionsVisibleRangeMethodsCreateAppointmentWithDialog(DateRange, bool)DeleteAppointmentWithDialog(Occurrence)EditAppointmentWithDialog(Occurrence)OnApplyTemplate()OnBindingContextChanged()ScrollIntoView(TimeOnly)EventsAppointmentDoubleTappedAppointmentTappedDialogClosingDialogOpeningMonthDayDoubleTappedMonthDayTappedSlotDoubleTappedSlotTapped
Not finding the help you need?
Contact Support