Migrating from SfSchedule to SfScheduler in WPF Scheduler

25 Nov 20215 minutes to read

SfScheduler is a new Scheduler control introduced in 18.2.0.45 Version. The SfScheduler control is used to schedule and manage the appointments through an intuitive user interface, similar to the Outlook calendar. This section helps to identify the equivalent SfSchedule features or APIs in the SfScheduler.

Adding Reference

SfSchedule Assembly Name: Syncfusion.SfSchedule.WPF
SfSchedule Namespace Name: Syncfusion.UI.Xaml.Schedule

SfScheduler Assembly Name: Syncfusion.SfScheduler.WPF
SfScheduler Namespace Name: Syncfusion.UI.Xaml.Scheduler

The following code example shows xmlns namespace for SfScheduler control. Include the Syncfusion schema in WPF and both the charts are available in the WPF schema.

SfSchedule

  • XAML
  • xmlns:schedule="http://schemas.syncfusion.com/wpf"

    SfScheduler

  • XAML
  • xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
    
      (or)
    
    xmlns:syncfusion="clr-namespace:Syncfusion.UI.Xaml.Scheduler;assembly=Syncfusion.SfScheduler.WPF"

    Initialization

    Both SfSchedule and SfScheduler almost have the same set of features. But the SfScheduler control offers a rich set of features over SfSchedule.

    Major improvements of SfScheduler

    • Improved the scheduler control rendering performance.
    • Improved the performance on switching the views such as day, week, work week, month, and timeline views.
    • Performance has been improved while loading more events or appointments.
    • Schedule view or date swiping and scrolling interaction improved.
    • Schedule elements easily customized using the Style and Template according to the WPF standard such as events or appointments, month cell.
    • Support Recurrence pattern exception dates and exception appointments.
    • Support special time region for Timeslot views.

    NOTE

    In the future, new features & enhancements will be added only in SfScheduler. It is recommended to use the ` SfScheduler`.

    The following table shows the API comparison between SfSchedule and SfScheduler.

    SfSchedule SfScheduler Description

    ScheduleType

    ViewType

    Gets or sets a value which determines Scheduler ViewType.

    FirstDayOfWeek

    FirstDayOfWeek

    Gets or sets the day of the week in Schedule.

    NonWorkingDays

    NonWorkingDays

    Gets or sets the non working days.

    Appointments

    ,

    ItemsSource

    ItemsSource

    Gets or sets a items source to the scheduler.

    ScheduleAppointment

    ScheduleAppointment

    Gets or sets the appointments data in schedule control.

    AppointmentMapping

    AppointmentMapping

    Gets or sets the mapping to the appointment.

    Resource

    ResourceCollection

    Gets or sets the Resource grouping for schedule.

    EnableReminderTimer

    EnableReminder

    Gets or sets the Resource grouping for schedule.

    The following table compares the ScheduleAppointment APIs,

    SfSchedule(ScheduleAppointment) SfScheduler(ScheduleAppointment) Description

    Subject

    Subject

    Gets or sets the subject for the appointment.

    Notes

    Notes

    Gets or sets the notes for an appointment.

    Location

    Location

    Gets or sets the location for an appointment.

    AppointmentBackground

    AppointmentBackground

    Gets or sets the appointment color.

    StartTime

    StartTime

    Gets or sets the start date and time of the appointment.

    EndTime

    EndTime

    Gets or sets the end date and time of the appointment.
    -

    ActualStartTime

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

    ActualEndTime

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

    StartTimeZone

    StartTimeZone

    Gets or sets time zone for the start time of the appointment.

    EndTimeZone

    EndTimeZone

    Gets or sets time zone for the end time of the appointment.

    IsRecursive

    IsRecursive

    Gets a value indicating whether the appointment is recurrence appointment or not.

    AllDay

    IsAllDay

    Gets or sets a value indicating whether the appointment's duration is equal to one day or not.

    RecurrenceRule

    RecurrenceRule

    Gets or sets a value indicating whether the appointment should be recursive.

    RecursiveExceptionDates

    RecurrenceExceptionDates

    Gets or sets the properties for maintaining recurrence rule exception Dates.
    -

    RecurrenceId

    Gets or sets an unique ID for referring recurrence appointment.
    -

    Data

    Gets the data object associated with appointment.
    -

    Type

    Gets the type of appointment.

    The following table compares the AppointmentMapping APIs,

    SfSchedule(AppointmentMapping) SfScheduler(AppointmentMapping) Description

    SubjectMapping

    Subject

    Gets or sets the Subject property for mapping to the schedule appointment.

    NotesMapping

    Notes

    Gets or sets the Notes property for mapping to the schedule appointment.

    LocationMapping

    Location

    Gets or sets the Location property for mapping to the schedule appointment.

    AppointmentBackgroundMapping

    AppointmentBackground

    Gets or sets the AppointmentBackground property for mapping to the schedule appointment.

    StartTimeMapping

    StartTime

    Gets or sets the StartTime property for mapping to the schedule appointment.

    EndTimeMapping

    EndTime

    Gets or sets the EndTime property for mapping to the schedule appointment.

    StartTimeZoneMapping

    StartTimeZone

    Gets or sets the StartTimeZone property for mapping to the schedule appointment.

    EndTimeZoneMapping

    EndTimeZone

    Gets or sets the EndTimeZone property for mapping to the schedule appointment.

    AllDayMapping

    IsAllDay

    Gets or sets the IsAllDay property for mapping to the schedule appointment.

    RecurrenceRuleMapping

    RecurrenceRule

    Gets or sets the RecurrenceRule property for mapping to the schedule appointment.

    RecursiveExceptionDatesMapping

    RecurrenceExceptionDates

    Gets or sets the RecurrenceExceptionDates property for mapping to the schedule appointment.
    -

    RecurrenceId

    Gets or sets the RecurrenceId property for mapping to the schedule appointment.

    The following table compares the DaysViewSettings APIs,

    SfSchedule SfScheduler Description

    TimeInterval

    TimeInterval

    Gets or sets a time interval.

    IntervalHeight

    TimeIntervalSize

    Gets or sets a time interval size.

    WorkStartHour

    StartHour

    Gets or sets the StartHour.

    WorkEndHour

    EndHour

    Gets or sets the EndHour.

    The following table compares the TimelineViewSettings APIs,

    SfSchedule SfScheduler Description

    TimeInterval

    TimeInterval

    Gets or sets a time interval.

    IntervalHeight

    TimeIntervalSize

    Gets or sets a time interval size.

    WorkStartHour

    StartHour

    Gets or sets the StartHour.

    WorkEndHour

    EndHour

    Gets or sets the EndHour.

    The following table compares the MonthViewSettings APIs,

    Gets or sets view header day format.
    SfSchedule SfScheduler Description

    HeaderDateFormat

    ViewHeaderDayFormat

    .

    HeaderBackground

    ViewHeaderTemplate

    Gets or sets the view header template.
    -

    MonthNavigationDirection

    Gets or sets a value which determines in which direction the MonthView scrolls.
    -

    AppointmentDisplayMode

    Gets or sets a value which define the display mode for appointment in month view.
    -

    AppointmentDisplayCount

    Gets or sets a value to define the maximum number of the appointment to be displayed in a month cell.
    -

    ShowWeekNumber

    Gets or sets a value indicating whether week number should be shown or not.

    The following table compares the Event APIs,

    SfSchedule SfScheduler Description
    ContextMenuOpening

    SchedulerContextMenuOpening

    Provides data for a SchedulerContextMenuOpening event.
    ReminderFormActionChanged

    ReminderAlertActionChanged

    Provides data for a ReminderAlertActionChanged event.
    AppointmentEditorClosed

    AppointmentEditorClosing

    Provides data for a AppointmentEditorClosing event.
    ScheduleClick

    CellTapped

    Provides data for the CellTapped event.
    ReminderOpening

    ReminderAlertOpening

    Provides data for a ReminderAlertOpening event.
    AppointmentEditorOpening

    AppointmentEditorOpening

    Provides data for a AppointmentEditorOpening event.
    ScheduleDoubleClick

    CellDoubleTapped

    Provides data for the CellDoubleTapped event.
    AppointmentStartDragging

    AppointmentDragStarting

    Provides data for the AppointmentDragStarting event.
    AppointmentDragging

    AppointmentDragOver

    Provides data for the AppointmentDragOver event.
    AppointmentEndDragging

    AppointmentDropping

    Provides data for the AppointmentDropping event.
    AppointmentResizing

    AppointmentResizing

    Provides data for AppointmentResizing event.
    AppointmentDeleting

    AppointmentDeleting

    Provides data for a AppointmentDeleting event.

    See the list of the rich set of features in SfScheduler over SfSchedule as follows:

    Rich set of features in SfScheduler over SfSchedule.

    Feature Description
    Events Appointments contain information on events scheduled at specific times. In addition to default appointments, the users can use their own collections to connect a business entity to an appointment by mapping their fields, such as start time, end time, subject, notes, and recurrence.
    Data Binding The scheduler control supports to bind any collection that implements the IEnumerable interface to populate appointments.
    Recurring Events Easily configure recurring events on a daily, weekly, monthly, or yearly basis. Also skip or change the occurrence of a recurring appointment.

    NOTE

    You can refer to our WPF Scheduler feature tour page for its groundbreaking feature representations. You can also explore our WPF Scheduler example to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar.