From 2a4e556dfdefe41c6ca65f2e0e25a6d2473a5321 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Tue, 7 Jul 2026 12:09:46 +0530 Subject: [PATCH 01/46] Task(1036752): Updated UG revamp work for WPF plateform. --- wpf/Scheduler/Accessibility.md | 10 ++-- wpf/Scheduler/Appointment-Drag-And-Drop.md | 8 +-- wpf/Scheduler/Appointment-Editing.md | 20 ++++---- wpf/Scheduler/Calendar-Types.md | 4 +- wpf/Scheduler/ContextMenu-Commands.md | 4 +- wpf/Scheduler/Date-Navigations.md | 10 ++-- wpf/Scheduler/DaysView.md | 10 ++-- wpf/Scheduler/Events.md | 18 +++---- wpf/Scheduler/Getting-Started.md | 50 ++++++++++--------- wpf/Scheduler/Header.md | 6 +-- wpf/Scheduler/LoadOnDemand.md | 12 ++--- wpf/Scheduler/Localization.md | 4 +- ...igrating-from-SfSchedule-to-SfScheduler.md | 4 +- wpf/Scheduler/Month-View.md | 2 +- wpf/Scheduler/Overview.md | 6 +-- wpf/Scheduler/Reminder.md | 12 ++--- wpf/Scheduler/Resource-Grouping.md | 12 ++--- wpf/Scheduler/Time-Zone.md | 12 ++--- wpf/Scheduler/TimelineView.md | 8 +-- 19 files changed, 108 insertions(+), 104 deletions(-) diff --git a/wpf/Scheduler/Accessibility.md b/wpf/Scheduler/Accessibility.md index 3247d0588a..ad4579e6d4 100644 --- a/wpf/Scheduler/Accessibility.md +++ b/wpf/Scheduler/Accessibility.md @@ -7,7 +7,7 @@ control: SfScheduler documentation: ug --- -# Accessibility Support in WPF Scheduler (SfScheduler) +# Accessibility Support in WPF Scheduler (SfScheduler) ## Screen reader support @@ -55,7 +55,7 @@ Month Agenda view with No events

dddd, MMMM d, yyyy No Events< Wednesday, June 2, 2021 No Events

-Month Agenda view list appointment

dddd, dddd, MMMM d, yyyy

+Month Agenda view list appointment

dddd, MMMM d, yyyy

Thursday, June 24, 2021

@@ -213,7 +213,7 @@ Delete button

Delete button

Delete button

-Timezone/All-day check box

All day checkbox

+Time zone/All-day check box

All day checkbox

All day checkbox checked/Unchecked

@@ -235,7 +235,7 @@ Combo box

Combobox content

Example

-Editing or Deleting an recurrence appointment

Title

+Editing or Deleting a recurrence appointment

Title

Open Recurring Item / Confirm Delete

@@ -401,4 +401,4 @@ Ctrl + Alt + 8 => TimelineMonthView

Moves the view to Timeline month view.

-N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. diff --git a/wpf/Scheduler/Appointment-Drag-And-Drop.md b/wpf/Scheduler/Appointment-Drag-And-Drop.md index ca5ed52383..6c8d708614 100644 --- a/wpf/Scheduler/Appointment-Drag-And-Drop.md +++ b/wpf/Scheduler/Appointment-Drag-And-Drop.md @@ -7,10 +7,10 @@ control: SfScheduler documentation: ug --- # Appointment drag and drop in WPF Scheduler (SfScheduler) -The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) supports to reschedule the appointment by performing the drag and drop operation. +The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) supports rescheduling an appointment by performing the drag and drop operation. ## Disable drag and drop -The Scheduler supports to disable the appointment drag and drop by setting [AppointmentEditFlag](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentEditFlag) property except `DragDrop`. In this case, appointment drag & drop will not be able to perform. +The Scheduler supports disabling the appointment drag and drop by setting [AppointmentEditFlag](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentEditFlag) property except `DragDrop`. In this case, appointment drag & drop cannot be performed. {% tabs %} {% highlight xaml %} @@ -24,7 +24,7 @@ this.Schedule.AppointmentEditFlag = AppointmentEditFlag.Add | AppointmentEditFla {% endtabs %} ## Show/Hide the time indicator on appointment dragging -Show or hide the time indicator at a specific time when to drag the appointment by using the [ShowTimeIndicator](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DragDropSettings.html#Syncfusion_UI_Xaml_Scheduler_DragDropSettings_ShowTimeIndicator) property of [DragDropSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DragDropSettings.html) is set to true. +Show or hide the time indicator at a specific time when dragging the appointment by using the [ShowTimeIndicator](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DragDropSettings.html#Syncfusion_UI_Xaml_Scheduler_DragDropSettings_ShowTimeIndicator) property of [DragDropSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DragDropSettings.html) is set to true. {% tabs %} {% highlight c# %} @@ -123,4 +123,4 @@ private void Schedule_AppointmentDropping(object sender, AppointmentDroppingEven {% endhighlight %} {% endtabs %} -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file diff --git a/wpf/Scheduler/Appointment-Editing.md b/wpf/Scheduler/Appointment-Editing.md index ac8b8d46a4..9179dda31f 100644 --- a/wpf/Scheduler/Appointment-Editing.md +++ b/wpf/Scheduler/Appointment-Editing.md @@ -11,14 +11,14 @@ documentation: ug This section explains how to handle appointment editing in [WPF scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) and also explains about the appointment resizing. ## Adding appointments -Scheduler supports to add a new appointment by using the [Appointment Editor](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerAppointmentEditorWindow.html) UI window. Open this window by double-clicking on a time cell or month cell or view header. +Scheduler supports adding a new appointment by using the [Appointment Editor](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerAppointmentEditorWindow.html) UI window. Open this window by double-clicking on a time cell or month cell or view header. N> * If [AllowViewNavigation](https://help.syncfusion.com/wpf/scheduler/date-navigations#allow-view-navigation) is true, the current view should be navigated to the respective day or timeline day views by single-clicking on the date in the view header. Other than the date by double-clicking on the view header cell, the appointment editor window will be opened, and by default, the `AllDay` checkbox will be checked in the appointment editor window. * All-day appointments can be created by double-clicking on the view header and not applicable for the month view header. ## Editing appointment -Scheduler supports to edit the appointment by using `Appointment Editor` UI window. Open this window by double clicking on the appointment. +Scheduler supports editing the appointment by using the `Appointment Editor` UI window. Open this window by double-clicking on the appointment. Appointment editor window @@ -27,7 +27,7 @@ Appointment editor window Edit the appointments in appointment editor window. This changes will be saved back in appointment and mapped data object when using data binding. #### Edit recurring appointment -Scheduler supports to edit the recurrence appointment. The following window will appear when the recurrence appointment is edited to select, whether to edit only the particular occurrence or appointment series. +Scheduler supports editing the recurrence appointment. The following window will appear when the recurrence appointment is edited to select, whether to edit only the particular occurrence or appointment series. ![WPF Scheduler editing recurrence appointment](Appointment-Editing_Images/Editing-Recurrence-Appointment.png) @@ -74,7 +74,7 @@ For example, to use a custom appointment editor window instead of the default ap private void Schedule_AppointmentEditorOpening(object sender, AppointmentEditorOpeningEventArgs e) { - //To handle the default appointment editior window by setting the e.Cancel value as true. + //To handle the default appointment editor window by setting the e.Cancel value as true. e.Cancel = true; if (e.Appointment != null) { @@ -148,7 +148,7 @@ private void Schedule_AppointmentEditorClosing(object sender, AppointmentEditorC * `Resource` - gets the resource collection of edited appointment. ## Disable appointment editing -To disable appointment editing functionality, Set [AppointmentEditFlag](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentEditFlag) property to `None`. In this case, add, edit, resize and drag & drop the appointments cannot be able performed. +To disable appointment editing functionality, set [AppointmentEditFlag](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentEditFlag) property to `None`. In this case, add, edit, resize and drag & drop the appointments cannot be able performed. {% tabs %} {% highlight XAML %} @@ -160,13 +160,13 @@ To disable appointment editing functionality, Set [AppointmentEditFlag](https:// {% endtabs %} ## Delete appointments -Scheduler supports two ways to remove the selected appointment. +Scheduler supports two ways to remove an appointment. 1. Pressing delete key. 2. Using appointment editor window. #### Delete recurring appointment -Scheduler supports to delete the recurrence appointment. The following window will appear when the user deletes the recurrence appointment. Select the delete option to make the changes for occurrence or appointment series. +Scheduler supports deleting the recurrence appointment. The following window will appear when the user deletes the recurrence appointment. Select the delete option to make the changes for occurrence or appointment series. ![WPF Scheduler deleting recurrence appointment](Appointment-Editing_Images/Deleting-Recurrence-Appointment.png) @@ -192,10 +192,10 @@ private void Schedule_AppointmentDeleting(object sender, AppointmentDeletingEven {% endtabs %} ## Appointment Resizing -Scheduler has support to resize the selected appointment. This support is available for all views except 'Month' view. +Scheduler supports resizing the selected appointment. This support is available for all views except the 'Month' view. #### Disable appointment resize -Scheduler supports to disable the appointment resizing by setting [AppointmentEditFlag](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentEditFlag) property except `Resize`. In this case, appointment resizing cannot be performed. +Scheduler supports disabling the appointment resizing by setting [AppointmentEditFlag](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentEditFlag) property except `Resize`. In this case, appointment resizing cannot be performed. {% tabs %} {% highlight xaml %} @@ -242,4 +242,4 @@ this.Schedule.AppointmentResizing += Schedule_AppointmentResizing; {% endtabs %} * `Resource` - gets the resource of an appointment under which the appointment is located. -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file diff --git a/wpf/Scheduler/Calendar-Types.md b/wpf/Scheduler/Calendar-Types.md index 359b499f6b..79f4ae5940 100644 --- a/wpf/Scheduler/Calendar-Types.md +++ b/wpf/Scheduler/Calendar-Types.md @@ -8,7 +8,7 @@ documentation: ug --- # Calendar Types in WPF Scheduler (SfScheduler) -This section describes how to change the calendar types of scheduler control using the [CalendarIdentifier.](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_CalendarIdentifier) +This section describes how to change the calendar types of the scheduler control using the [CalendarIdentifier.](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_CalendarIdentifier) ## Types of Calendar The scheduler control supports the different types of calendars such as Gregorian, Korean, Hebrew, and more. You can change the calendar types by using the [CalendarIdentifier](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_CalendarIdentifier) property in [Scheduler.](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html) The default value of the `CalendarIdentifier` property is [GregorianCalendar.](https://docs.microsoft.com/en-us/dotnet/api/system.globalization.gregoriancalendar?view=net-5.0) @@ -94,7 +94,7 @@ var appointments = new ScheduleAppointmentCollection(); appointments.Add(new ScheduleAppointment() { Subject = "Meeting", - // StartTime and EndTime values specified with local system date will be converted to the Hijiri calendar mentioned. + // StartTime and EndTime values specified with local system date will be converted to the Hijri calendar mentioned. StartTime = new DateTime(2021, 09, 29, 10, 0, 0, 0), EndTime = new DateTime(2021, 09, 29, 11, 0, 0, 0), }); diff --git a/wpf/Scheduler/ContextMenu-Commands.md b/wpf/Scheduler/ContextMenu-Commands.md index 57e6ec6ffa..080bf0d58a 100644 --- a/wpf/Scheduler/ContextMenu-Commands.md +++ b/wpf/Scheduler/ContextMenu-Commands.md @@ -9,7 +9,7 @@ documentation: ug # ContextMenu and Commands in WPF Scheduler (SfScheduler) -The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) has support to define a context menu for appointments, time slots, and month cells are right-clicked. It will also have the built-in `RoutedUICommands` support for handling the context menu to add, edit, and delete appointments. There are two types of `ContextMenu`. +The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) allows defining context menus for appointments, time slots, and month cells when right-clicked. It also has built-in `RoutedUICommands` support for handling the context menu to add, edit, and delete appointments. There are two types of `ContextMenu`. * [CellContextMenu](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_CellContextMenu) * [AppointmentContextMenu](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentContextMenu) @@ -90,4 +90,4 @@ The [SchedulerContextMenuInfo](https://help.syncfusion.com/cr/wpf/Syncfusion.UI. * `ContextMenu` – It represents a shortcut context menu that is being opened. -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. diff --git a/wpf/Scheduler/Date-Navigations.md b/wpf/Scheduler/Date-Navigations.md index 20f490231a..3aa5b7f33a 100644 --- a/wpf/Scheduler/Date-Navigations.md +++ b/wpf/Scheduler/Date-Navigations.md @@ -10,10 +10,10 @@ documentation: ug # Date Navigations in WPF Scheduler (SfScheduler) ## Range for visible dates -Visible dates can be restricted between certain range of dates, using [MaximumDate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_MaximumDate) and [MinimumDate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_MinimumDate) properties in [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html). It is applicable in all the schedule views. +Visible dates can be restricted between a certain range of dates, using [MaximumDate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_MaximumDate) and [MinimumDate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_MinimumDate) properties in [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html). It is applicable in all the schedule views. ### Minimum display date -`MinimumDate` will restrict date navigations features of backward, and also it doesn't allow to swipe the control using touch gesture beyond the minimum date range. The dates before the minimum date will be disabled in the schedule. +`MinimumDate` will restrict backward date navigation features, and also it doesn't allow swiping the control using touch gesture beyond the minimum date range. The dates before the minimum date will be disabled in the schedule. {% tabs %} {% highlight xaml %} @@ -27,7 +27,7 @@ this.Schedule.MinimumDate = new DateTime(2020, 05, 05, 10, 0, 0); {% endtabs %} ### Maximum display date -`MaximumDate` will restrict date navigations features of forward, and also it doesn't allow to swipe the control using touch gesture beyond the maximum date range. The dates beyond the maximum date will be disabled in the schedule. +`MaximumDate` will restrict forward date navigation features, and also it doesn't allow swiping the control using touch gesture beyond the maximum date range. The dates beyond the maximum date will be disabled in the schedule. {% tabs %} {% highlight xaml %} @@ -73,7 +73,7 @@ this.Schedule.SelectedDate = new DateTime(2020, 07, 10, 10, 0, 0); N> Selection before minimum dates and beyond maximum dates using the `SelectedDate` is not possible. ## Programmatically change to adjacent dates -By default, the date can be navigated to next and previous views using touch gesture, by swiping the control from right to left and left to right direction. The view can be also changed programmatically using the [Forward](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_Forward) and [Backward](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_Backward) methods available in SfScheduler. +By default, the date can be navigated to the next and previous views using touch gesture, by swiping the control from right to left and left to right direction. The view can also be changed programmatically using the [Forward](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_Forward) and [Backward](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_Backward) methods available in SfScheduler. #### Forward Use the `Forward` method of SfScheduler for viewing the next immediate visible dates in the scheduler. It will move to the next month if the scheduler view is month, similarly it will move to the next week for week view and the next day for day view. @@ -141,7 +141,7 @@ N> * If the [ShowAgendaView](https://help.syncfusion.com/wpf/scheduler/month-view#month-agenda-view) is true in a month view, the month view should navigate to the day view by single-clicking on the agenda date view header, otherwise, the month view should navigate to the day view by single-clicking on the date in a month cell. ## Show date picker -You can enable the date picker for the scheduler by using the [ShowDatePickerButton](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ShowDatePickerButton) property in the [SfScheduler,](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html) which displays the date picker and `Today` button in the header view. It allows you to quickly navigate to today and different scheduler views. +You can enable the date picker for the scheduler by using the [ShowDatePickerButton](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ShowDatePickerButton) property in the [SfScheduler,](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html) which displays the date picker, the `Today` button, and quick navigation to today and different scheduler views. {% tabs %} {% highlight xaml %} diff --git a/wpf/Scheduler/DaysView.md b/wpf/Scheduler/DaysView.md index d322dc581f..47636d73d3 100644 --- a/wpf/Scheduler/DaysView.md +++ b/wpf/Scheduler/DaysView.md @@ -8,7 +8,7 @@ documentation: ug --- # Day and Week Views in WPF Scheduler (SfScheduler) -[Scheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) supports to display the day, week, work week views and current day will be visible by default. Appointments on a specific day will be arranged in respective timeslots based on its duration. +[Scheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) supports displaying the day, week, and work week views, and the current day will be visible by default. Appointments on a specific day will be arranged in respective timeslots based on their duration. ## Change time interval Customize the interval of timeslots in all the day, week, work week views by using the [TimeInterval](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeInterval) property of [DaysViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_DaysViewSettings). @@ -94,9 +94,9 @@ this.Content = scheduler; {% endtabs %} ## Special time regions -Restrict the user interaction such as selection and highlights specific regions of time in day, week, work week views by adding the [SpecialTimeRegions](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_SpecialTimeRegions) property of `SfScheduler`. Set the [StartTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_StartTime) and [EndTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_EndTime) properties of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html) to create a `SpecialTimeRegion`, use the timeZone property to set the specific timezone for Start and end time of `SpecialTimeRegion`. The `SpecialTimeRegion` will display the text or image on it that set to the text or icon property of `SpecialTimeRegion`. +Restrict the user interaction such as selection and highlights specific regions of time in day, week, work week views by adding the [SpecialTimeRegions](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_SpecialTimeRegions) property of `SfScheduler`. Set the [StartTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_StartTime) and [EndTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_EndTime) properties of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html) to create a `SpecialTimeRegion`, use the timeZone property to set the specific timezone for the start and end time of `SpecialTimeRegion`. The `SpecialTimeRegion` will display the text or image that is set to the text or icon property of `SpecialTimeRegion`. -Enable merges adjacent region of `SpecialTimeRegion` and show them as a single region instead of showing them separately for each day using the [CanMergeAdjacentRegions](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_CanMergeAdjacentRegions) property of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#properties) in the week and workweek views. By default, its value is false. +Enable merging adjacent regions of `SpecialTimeRegion` and show them as a single region instead of showing them separately for each day using the [CanMergeAdjacentRegions](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_CanMergeAdjacentRegions) property of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#properties) in the week and workweek views. By default, its value is false. ### Selection restriction in timeslots Enable or disable the touch interaction of `SpecialTimeRegion` using the [CanEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_CanEdit) property of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#properties). By default, its value is true. @@ -145,7 +145,7 @@ in the region ### Recurring time region The recurring time region on a daily, weekly, monthly, or yearly interval. The recurring special time regions can be created by setting the [RecurrenceRule](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_RecurrenceRule) property in [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#properties). -Enable merges adjacent region of `SpecialTimeRegion` and show them as a single region instead of showing them separately for each day using the [CanMergeAdjacentRegions](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_CanMergeAdjacentRegions) property of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#properties) in the week and workweek views. By default, its value is false. +Enable merging adjacent regions of `SpecialTimeRegion` and show them as a single region instead of showing them separately for each day using the [CanMergeAdjacentRegions](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_CanMergeAdjacentRegions) property of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#properties) in the week and workweek views. By default, its value is false. {% tabs %} {% highlight xaml %} @@ -219,7 +219,7 @@ The [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Sc ![Recurrence exception dates in WPF Scheduler](DaysView_Images/wpf-scheduler-recurrence-exception-dates-in-date-basis.png) ### Special time region customization -The `SpecialTimeRegion` background color can be customized by using the [Background](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_Background) and [SpecialTimeRegionTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_SpecialTimeRegionTemplate) properties of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html) that is used to customize the text style for the image of the `SpecialTimeRegion`. +The `SpecialTimeRegion` background color can be customized by using the [Background](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_Background) and [SpecialTimeRegionTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_SpecialTimeRegionTemplate) properties of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html) that is used to customize the text style and image of the `SpecialTimeRegion`. {% tabs %} {% highlight xaml %} diff --git a/wpf/Scheduler/Events.md b/wpf/Scheduler/Events.md index 648952c22c..142324cef7 100644 --- a/wpf/Scheduler/Events.md +++ b/wpf/Scheduler/Events.md @@ -11,12 +11,12 @@ documentation: ug ## CellTapped -The [CellTapped](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html) event occurs when the user clicks or touches the cell in Scheduler. +The [CellTapped](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html) event occurs when the user clicks or touches a cell in Scheduler. This event receives two arguments namely `this` that handles `SfScheduler` and [CellTappedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html) as objects. The [CellTappedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html) object contains the following properties: -* [Appointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_CellTappedEventArgs_Appointment) - returns Tapped appointment values. +* [Appointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_CellTappedEventArgs_Appointment) - returns the tapped appointment values. 1. If [ItemsSource](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ItemsSourceProperty) added with custom business object then tapped custom Appointment details can get by using Appointment [Data](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Data) property in Cell tapped arguments. @@ -24,7 +24,7 @@ The [CellTappedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml 3. The appointment details get for month view if [AppointmentDisplaymode](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.MonthViewSettings.html#Syncfusion_UI_Xaml_Scheduler_MonthViewSettings_AppointmentDisplayMode) as [Appointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_CellTappedEventArgs_Appointment), or else it will be null for month view. * [Appointments](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_CellTappedEventArgs_Appointments)- returns Tapped Month cell appointments values if AppointmentDisplayMode as indicator. Tapped Month Cell has a Recurrence appointment it will return the parent recurrence appointment values. It will be null for Day or Week or WorkWeek views. -* [IsMoreAppointments](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_CellTappedEventArgs_IsMoreAppointments)- specifies whether more appointments are tapped or not in month view. It will be applicable only for Month view which has AppointmentDisplaymode as Appointment. +* [IsMoreAppointments](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_CellTappedEventArgs_IsMoreAppointments)- specifies whether more appointments are tapped in month view. It will be applicable only for Month view which has AppointmentDisplaymode as Appointment. * [CancelNavigation](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_CellTappedEventArgs_CancelNavigation)- specifies whether day view navigation should be disabled when clicking more appointments in month view. It will be applicable for month view which has AppointmentDisplaymode as Appointment and click the More appointments in month cell. * [DateTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_CellTappedEventArgs_DateTime)- gets the date-time of the tapped cell. * [TimeInterval](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.CellTappedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_CellTappedEventArgs_TimeInterval)- gets the date-time interval of the tapped cell. It is not applicable for month view. @@ -109,8 +109,8 @@ The [SelectionChangedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.U * [OldValue](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SelectionChangedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_SelectionChangedEventArgs_OldValue) - gets an old selected date. * [NewValue](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SelectionChangedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_SelectionChangedEventArgs_NewValue)- gets a new selected date. -* `OldResource` - gets a old selected resource details. -* `newResource` - gets a new selected resource details. +* `OldResource` - gets the old selected resource details. +* `newResource` - gets the new selected resource details. ## SelectionChanging @@ -120,8 +120,8 @@ The [SelectionChanging](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.S * [OldValue](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SelectionChangingEventArgs.html#Syncfusion_UI_Xaml_Scheduler_SelectionChangingEventArgs_OldValue) - gets an old selected date. * [NewValue](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SelectionChangingEventArgs.html#Syncfusion_UI_Xaml_Scheduler_SelectionChangingEventArgs_NewValue)- gets a new selected date. -* `OldResource` - gets a old selected resource details. -* `newResource` - gets a new selected resource details. +* `OldResource` - gets the old selected resource details. +* `newResource` - gets the new selected resource details. {% tabs %} {% highlight xaml %} @@ -247,7 +247,7 @@ private void Schedule_WeekNumberTapped(object sender, WeekNumberTappedEventArgs ## AppointmentTapped -The [AppointmentTapped](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html) event occurs when schedule appointments get tapped in all views. This event receives two arguments namely `this` that handles `SfScheduler` and [AppointmentTappedArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentTappedArgs.html) as objects. +The [AppointmentTapped](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html) event occurs when an appointment is tapped in any view. This event receives two arguments namely `this` that handles `SfScheduler` and [AppointmentTappedArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentTappedArgs.html) as objects. The [AppointmentTappedArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentTappedArgs.html) object contains the following properties: @@ -270,4 +270,4 @@ private void Schedule_AppointmentTapped(object sender, AppointmentTappedArgs e) {% endhighlight %} {% endtabs %} -N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file diff --git a/wpf/Scheduler/Getting-Started.md b/wpf/Scheduler/Getting-Started.md index e6bfdc44b9..222e008ac9 100644 --- a/wpf/Scheduler/Getting-Started.md +++ b/wpf/Scheduler/Getting-Started.md @@ -10,14 +10,14 @@ documentation: ug # Getting Started with WPF Scheduler (SfScheduler) -This section provides an overview for working with SfScheduler for WPF and also provides a walk through to configure [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) (SfScheduler) control in the real time scenario. +This section provides an overview for working with SfScheduler for WPF and also provides a walkthrough to configure the [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) (SfScheduler) control in a real-time scenario. ## Assembly deployment Refer to the section on [control dependencies](https://help.syncfusion.com/wpf/control-dependencies#sfscheduler) for a list of assemblies or NuGet Packages to be used as a guide for using control in any application. Further information on installing the NuGet package can be found in the following link in a WPF application: [How to install nuget packages](https://help.syncfusion.com/extension/syncfusion-nuget-packages/nuget-packages) . Use [Syncfusion Reference Manager](https://help.syncfusion.com/wpf/visual-studio-integration/visual-studio-extensions/add-references) to refer the scheduler's dependent assemblies. ## Create simple application with SfScheduler -In this section, create WPF application with WPF Scheduler (SfScheduler) control. +In this section, create a WPF application with the WPF Scheduler (SfScheduler) control. * [Creating project](#creating-project) * [Adding control via Designer](#adding-control-via-designer) @@ -74,17 +74,21 @@ namespace GettingStarted { public partial class MainWindow : Window { - SfScheduler schedule = new SfScheduler(); - this.Content = schedule; + public MainWindow() + { + InitializeComponent(); + SfScheduler schedule = new SfScheduler(); + this.Content = schedule; + } } } {% endhighlight %} {% endtabs %} -## Change different SfScheduler Views +## Change SfScheduler Views -The [WPF Scheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) (SfScheduler) control provides five different types of views to display dates and it can be assigned to the control by using [ViewType](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ViewType) property. By default the control is assigned with `MonthView`. Current date will be displayed initially for all the Schedule views. +The [WPF Scheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) (SfScheduler) control provides five different types of views to display dates, and the view can be assigned to the control by using the [ViewType](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ViewType) property. By default, the control is assigned with `MonthView`. The current date will be displayed initially for all the Schedule views. {% tabs %} {% highlight xaml %} @@ -98,7 +102,7 @@ Schedule.ViewType =SchedulerViewType.Month; ![WPF scheduler Month view](GettingStarted_images/wpf-scheduler-month-view.png) ## Appointments -[SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) has a built-in capability to handle the appointment arrangement internally based on the [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) collections. Allocate the collection generated to `Appointments` property. +[SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) has a built-in capability to handle the appointment arrangement internally based on the [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) collections. Assign the generated collection to the `Appointments` property. ### Creating the schedule appointments The [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) is a class that includes the specific scheduled appointment. It has some basic properties such as [StartTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_StartTime), [EndTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_EndTime), [Subject](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Subject), and some additional information about the appointment can be added with [Notes](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Notes), [Location](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Location), and [IsAllDay](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_IsAllDay) properties. @@ -108,10 +112,10 @@ The [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml. {% endhighlight %} {% highlight c# %} -//Creating new event +//Creating a new event ScheduleAppointmentCollection appointmentCollection = new ScheduleAppointmentCollection(); -//Creating new event +//Creating a new appointment ScheduleAppointment clientMeeting = new ScheduleAppointment(); DateTime currentDate = DateTime.Now; DateTime startTime = new DateTime(currentDate.Year, currentDate.Month, currentDate.Day, 10, 0, 0); @@ -138,7 +142,7 @@ Here are the steps to render meetings using [SfScheduler](https://help.syncfusio * [Bind to SfScheduler appointment](#bind-to-sfscheduler-appointment) * [Bind item source for Scheduler](#bind-item-source-for-sfscheduler) -#### Create an event Data Model +#### Create an event data model Create a custom class `Meeting` with mandatory fields `From`, `To` and `EventName` that is used to map the information of the appointment. @@ -231,9 +235,9 @@ Create a custom class `Meeting` with mandatory fields `From`, `To` and `EventNam {% endhighlight %} -#### Create view model +#### Create view model -By setting `From` and `To` of the `Meeting` class, schedule the meetings for a specific day. Change the subject and color of the appointment using `EventName` and `Color` property. Define the list of custom appointments in a separate class of `ViewModel`. +By setting `From` and `To` of the `Meeting` class, schedule the meetings for a specific day. You can change the subject and color of the appointment using the `EventName` and `Color` properties. Define the list of custom appointments in a separate `ViewModel` class. {% tabs %} {% highlight c# %} @@ -247,7 +251,7 @@ By setting `From` and `To` of the `Meeting` class, schedule the meetings for a s { this.Events = new ObservableCollection(); this.InitializeDataForBookings(); - this.IntializeAppoitments(); + this.InitializeAppointments(); } public ObservableCollection Events @@ -273,7 +277,7 @@ By setting `From` and `To` of the `Meeting` class, schedule the meetings for a s this.currentDayMeetings.Add("Plan Execution"); this.minTimeMeetings = new List(); - this.minTimeMeetings.Add("Client Metting"); + this.minTimeMeetings.Add("Client Meeting"); this.minTimeMeetings.Add("Birthday wish alert"); this.colorCollection = new List(); @@ -283,7 +287,7 @@ By setting `From` and `To` of the `Meeting` class, schedule the meetings for a s this.colorCollection.Add(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF1BA1E2"))); this.colorCollection.Add(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFD80073"))); } - private void IntializeAppoitments() + private void InitializeAppointments() { Random randomTime = new Random(); List randomTimeCollection = this.GettingTimeRanges(); @@ -350,9 +354,9 @@ By setting `From` and `To` of the `Meeting` class, schedule the meetings for a s {% endhighlight %} {% endtabs %} -#### Bind to SfScheduler appointment +#### Bind to SfScheduler appointments -Map those properties of the `Meeting` class with our WPF Scheduler (SfScheduler) control by using the [AppointmentMapping](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentMappingProperty) property. +Map the properties of the `Meeting` class with the WPF Scheduler (SfScheduler) control by using the [AppointmentMapping](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentMappingProperty) property. {% tabs %} {% highlight xaml %} @@ -382,8 +386,8 @@ Map those properties of the `Meeting` class with our WPF Scheduler (SfScheduler) {% endhighlight %} {% endtabs %} -#### Bind item source for SfScheduler -Create meetings of type `ObservableCollection` and assign those appointments collection [Events](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#events) to the [ItemsSource](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ItemsSource) property of SfScheduler. +#### Bind Item Source for SfScheduler +Create meetings of type `ObservableCollection` and assign the appointments collection [Events](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#events) to the [ItemsSource](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ItemsSource) property of SfScheduler. {% tabs %} {% highlight xaml %} @@ -405,7 +409,7 @@ N> [View sample in GitHub](https://github.com/SyncfusionExamples/wpf-scheduler-d ## Change first day of week -WPF Scheduler (SfScheduler) control will be rendered with `Sunday` as the first day of the week, but it can be customized to any day by using [FirstDayOfWeek](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_FirstDayOfWeek) property of `SfScheduler`. +WPF Scheduler (SfScheduler) control will be rendered with `Sunday` as the first day of the week, but it can be customized to any day by using the [FirstDayOfWeek](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_FirstDayOfWeek) property of `SfScheduler`. {% tabs %} {% highlight xaml %} @@ -420,7 +424,7 @@ Schedule.FirstDayOfWeek = DayOfWeek.Tuesday; ![WPF scheduler FirstDayOfWeek](GettingStarted_images/wpf-scheduler-firstdayofweek.png) ## Show busy indicator -The Scheduler supports to show the busy indicator by using the [ShowBusyIndicator](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ShowBusyIndicator) property. The default value is set to false, if the value is set to `true` then the busy indicator will be loaded on view or visible date changed. +The Scheduler supports showing the busy indicator by using the [ShowBusyIndicator](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ShowBusyIndicator) property. The default value is set to `false`. When the value is set to `true`, the busy indicator will be loaded on view or visible date changed. {% tabs %} {% highlight xaml %} @@ -435,7 +439,7 @@ The Scheduler supports to show the busy indicator by using the [ShowBusyIndicato ## Theme -WPF Scheduler (SfScheduler) supports various built-in themes. Refer to the below links to apply themes for the SfScheduler, +WPF Scheduler (SfScheduler) supports various built-in themes. Refer to the links below to apply themes for the SfScheduler: * [Apply theme using SfSkinManager](https://help.syncfusion.com/wpf/themes/skin-manager) @@ -444,4 +448,4 @@ WPF Scheduler (SfScheduler) supports various built-in themes. Refer to the below ![Setting theme to WPF scheduler](GettingStarted_images/wpf-scheduler-theme.png) -N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file diff --git a/wpf/Scheduler/Header.md b/wpf/Scheduler/Header.md index ffe1b4e9d0..3185be87da 100644 --- a/wpf/Scheduler/Header.md +++ b/wpf/Scheduler/Header.md @@ -8,7 +8,7 @@ documentation: ug --- # Header in WPF Scheduler (SfScheduler) -Change the header height, date format and appearance of [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html). +Change the header height, date format, and appearance of the [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html). ## Header height Change the scheduler header height by using [HeaderHeight](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_HeaderHeight) property of SfScheduler. By default, the header height is 50. @@ -27,7 +27,7 @@ this.Schedule.HeaderHeight = 100; ![WPF Scheduler header ViewHeaderHeight](Header_Images/HeaderHeight.png) ## Header date format -Change the Scheduler header date format of scheduler by using the [HeaderDateFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_HeaderDateFormat) property of SfScheduler. By default, the header date format is `MMMM yyyy`. +Change the Scheduler header date format by using the [HeaderDateFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_HeaderDateFormat) property of SfScheduler. By default, the header date format is `MMMM yyyy`. {% tabs %} {% highlight xaml %} @@ -81,4 +81,4 @@ Customize header appearance of scheduler by using [HeaderTemplate](https://help. ![WPF Scheduler header HeaderTemplate](Header_Images/HeaderTemplate.png) -N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file diff --git a/wpf/Scheduler/LoadOnDemand.md b/wpf/Scheduler/LoadOnDemand.md index ef18391bbf..d9af44539e 100644 --- a/wpf/Scheduler/LoadOnDemand.md +++ b/wpf/Scheduler/LoadOnDemand.md @@ -7,12 +7,12 @@ control: SfScheduler documentation: ug --- # Load On Demand in WPF Scheduler (SfScheduler) -The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) supports to load appointment on demand with loading indicator and it improves the loading performance when there are appointments range for multiple years. +The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) supports loading appointments on demand with a loading indicator and improves the loading performance when there are appointments ranging over multiple years. ![Load on-demand in WPF Scheduler](LoadOnDemand_Images/LoadOnDemand.gif) ## QueryAppointments event -The [QueryAppointments](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_QueryAppointments) event is used to load appointments in on-demand for the visible date range. Start and stop the loading indicator animation before and after the appointments loaded using the [ShowBusyIndicator](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ShowBusyIndicator). +The [QueryAppointments](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_QueryAppointments) event is used to load appointments in on-demand for the visible date range. Start and stop the loading indicator animation before and after the appointments are loaded using the [ShowBusyIndicator](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ShowBusyIndicator). The [QueryAppointmentsEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.QueryAppointmentsEventArgs.html) has the following members which provides information for the `QueryAppointments` event. [VisibleDateRange](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DateRange.html) - Gets the current visible date range of scheduler that is used to load the appointments. @@ -68,8 +68,8 @@ The [QueryAppointments](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Sc The Scheduler notifies by [LoadOnDemandCommand](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_LoadOnDemandCommand) when the user changes the visible date range. Get a visible date range from the [QueryAppointmentsEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.QueryAppointmentsEventArgs.html). The default value for this `ICommand` is null. The `QueryAppointmentsEventArgs` passed as a command parameter. Define a ViewModel class that implements command and handle it by the CanExecute and Execute methods to check and execute on-demand loading. In the execute method, perform the following operations, -* Start and stop the loading indicator animation before and after the appointments loaded using the [ShowBusyIndicator](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ShowBusyIndicator). -* Once the appointment collection is got, load into the scheduler itemsource. +* Start and stop the loading indicator animation before and after the appointments are loaded using the [ShowBusyIndicator](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ShowBusyIndicator). +* Once the appointment collection is obtained, load it into the scheduler's Itemsource. {% tabs %} {% highlight xaml %} @@ -151,9 +151,9 @@ public class LoadOnDemandViewModel : NotificationObject The [LoadOnDemandCommand](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_LoadOnDemandCommand) will be invoked once any one of the following actions is taken. -* Once the [ViewChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ViewChanged) event is raised, the `LoadOnDemandCommand` will also be raised. +* Once the [ViewChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ViewChanged) event is raised, the `LoadOnDemandCommand` will also be invoked. -* If the appointment has been added, removed, or changed (Resize, drag, and drop) in the current time visible date range, then the `LoadOnDemandCommand` will not be triggered. Since the appointments for that visible date range have been loaded already. +* If the appointment has been added, removed, or changed (Resize, drag, and drop) in the current time visible date range, then the `LoadOnDemandCommand` will not be triggered, since the appointments for that visible date range have been loaded already. * The `LoadOnDemandCommand` is triggered when the Schedule [ResourceCollection](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ResourceCollection) is updated to load the appointments based on the changed resource collection. diff --git a/wpf/Scheduler/Localization.md b/wpf/Scheduler/Localization.md index 3a4008e138..b09ebe7a9a 100644 --- a/wpf/Scheduler/Localization.md +++ b/wpf/Scheduler/Localization.md @@ -9,7 +9,7 @@ documentation: ug # Localization in WPF Scheduler (SfScheduler) -Localization is the process of customizing the user interface, based on a culture specific to a particular country or region in order to display the regional data. The culture is represented by a unique string, for example, ―en-US ‖ for U.S. English and ― fr-FR ‖ for French (common). +Localization is the process of customizing the user interface, based on a culture specific to a particular country or region in order to display the regional data. The culture is represented by a unique string, for example, "en-US" for U.S. English and "fr-FR" for French (common). Localization is the key feature that provides solutions to global customers with the help of localized resource files provided by the control. The Scheduler supports localization, and creates a resource file for any culture to be applied in the scheduler. @@ -42,7 +42,7 @@ N> [View **Syncfusion.SfScheduler.WPF.resx** in GitHub](https://github.com/syncf 3. Right-click on the Resources folder, select **Add** and then **NewItem**. -4. In `Add New Item` wizard, select the **Resource File** option and name the filename as **Syncfusion.SfScheduler.WPF.<culture name>.resx**. For example, give the name as **Syncfusion.SfScheduler.WPF.de.resx** for German culture. +4. In `Add New Item` wizard, select the **Resource File** option and name the file as **Syncfusion.SfScheduler.WPF.<culture name>.resx**. For example, give the name as **Syncfusion.SfScheduler.WPF.de.resx** for German culture. 5. The culture name that indicates the name of language and country. diff --git a/wpf/Scheduler/Migrating-from-SfSchedule-to-SfScheduler.md b/wpf/Scheduler/Migrating-from-SfSchedule-to-SfScheduler.md index 5cd1db91e1..58e772c25e 100644 --- a/wpf/Scheduler/Migrating-from-SfSchedule-to-SfScheduler.md +++ b/wpf/Scheduler/Migrating-from-SfSchedule-to-SfScheduler.md @@ -54,7 +54,7 @@ Both [SfSchedule](https://help.syncfusion.com/wpf/scheduler/overview) and [SfSch * Support Recurrence pattern exception dates and exception appointments. * Support special time region for Timeslot views. -N> In the future, new features & enhancements will be added only in `SfScheduler`. It is recommended to use the ` SfScheduler`. +N> 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. @@ -406,4 +406,4 @@ Easily configure recurring events on a daily, weekly, monthly, or yearly basis. -N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file diff --git a/wpf/Scheduler/Month-View.md b/wpf/Scheduler/Month-View.md index 4f566084a6..1a505f92e5 100644 --- a/wpf/Scheduler/Month-View.md +++ b/wpf/Scheduler/Month-View.md @@ -7,7 +7,7 @@ control: SfScheduler documentation: ug --- # Month View in WPF Scheduler (SfScheduler) -The month view of the scheduler displays the days of a specific month and current month, by default initially. The current date color is differentiated from other dates of the current month. +The month view of the scheduler displays the days of a specific month; the current month is shown by default initially. The current date is highlighted differently from other dates of the current month. ## Month agenda view The scheduler month view displays a divided agenda view that is used to show the selected date’s appointments below the month. Show the agenda view by setting the [ShowAgendaView](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.MonthViewSettings.html#Syncfusion_UI_Xaml_Scheduler_MonthViewSettings_ShowAgendaView) property to `true` in the [MonthViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.MonthViewSettings.html). diff --git a/wpf/Scheduler/Overview.md b/wpf/Scheduler/Overview.md index a2fc9e243c..c929b77762 100644 --- a/wpf/Scheduler/Overview.md +++ b/wpf/Scheduler/Overview.md @@ -26,7 +26,7 @@ The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) cont ![WPF Scheduler Recurrence Events](Overview_Images/wpf-scheduler-recurrence-events.png) -**Appointment Mapping** - SfScheduler control supports to map any collection that implements the IEnumerable interface to populate appointments. +**Appointment Mapping** - SfScheduler control supports mapping any collection that implements the IEnumerable interface to populate appointments. **Appointment Editor** - Create, edit, or delete appointments using the built-in appointment editor. @@ -44,7 +44,7 @@ The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) cont **Reminder** - Use the reminders to organize the appointments in the scheduler. The Scheduler reminds about the appointment at the specified time. -**LoadOnDemand** - The SfScheduler supports loading appointments on-demand with loading indicator and it improves the loading performance when there are appointments range for multiple years. +**LoadOnDemand** - The SfScheduler supports loading appointments on-demand with a loading indicator and improves the loading performance when there are appointments ranging over multiple years. -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. Looking for the full WPF Scheduler component overview, features, pricing, and documentation? Visit the [WPF Scheduler](https://www.syncfusion.com/wpf-controls/scheduler) page. +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. Looking for the full WPF Scheduler component overview, features, pricing, and documentation? Visit the [WPF Scheduler](https://www.syncfusion.com/wpf-controls/scheduler) page. diff --git a/wpf/Scheduler/Reminder.md b/wpf/Scheduler/Reminder.md index 02942f5a4c..0a25b7b31d 100644 --- a/wpf/Scheduler/Reminder.md +++ b/wpf/Scheduler/Reminder.md @@ -7,10 +7,10 @@ control: SfScheduler documentation: ug --- # Reminder in WPF Scheduler (SfScheduler) -[WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) alerts you for a particular appointment with a reminder window when enabling the [EnableReminder](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_EnableReminder) property. Reminder window supports to `Dismiss` or `DismissAll` or set the `SnoozeTime` for the reminder appointments. +[WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) alerts you for a particular appointment with a reminder window when enabling the [EnableReminder](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_EnableReminder) property. The reminder window supports `Dismiss`, `DismissAll`, or setting the `SnoozeTime` for the reminder appointments. ## Enable reminder -Reminder can be set by setting the [EnableReminder](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_EnableReminder) property to `true.` The reminder time can be set using the [Reminders](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Reminders) property of [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html). +Reminder can be set by setting the [EnableReminder](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_EnableReminder) property to `true`. The reminder time can be set using the [Reminders](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Reminders) property of [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html). {% tabs %} {% highlight xaml %} @@ -88,7 +88,7 @@ Configure the appointment reminders with [SchedulerReminder](https://help.syncfu N> [View sample in GitHub](https://github.com/SyncfusionExamples/appointment-reminders-wpf-scheduler) ## Creating business object for reminder -`Reminders` supports to map the custom object with the [ScheduleAppointment.Reminders](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Reminders). +`Reminders` supports mapping the custom object with the [ScheduleAppointment.Reminders](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Reminders). {% tabs %} {% highlight c#%} @@ -145,7 +145,7 @@ public class Reminder {% endhighlight %} {% endtabs %} -Map those properties of the `Meeting` class with the [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html) control by using the [AppointmentMapping](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentMapping.html) and map `CustomReminder` properties with `SchedulerReminder` by using the `ReminderMapping.` +Map the properties of the `Meeting` class with the [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html) control by using the [AppointmentMapping](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentMapping.html) and map `CustomReminder` properties with `SchedulerReminder` by using the `ReminderMapping`. {% tabs %} {% highlight xaml %} @@ -213,7 +213,7 @@ private void Scheduler_ReminderAlertOpening(object sender, ReminderAlertOpeningE {% endtabs %} -## ReminderAlertActionChanged events +## ReminderAlertActionChanged event The Scheduler notifies by the [ReminderAlertActionChangedEvent](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ReminderAlertActionChanged) when appointment reminders' dismiss, dismiss all, or snooze action is changed in the Scheduler reminder alert window. The [ReminderAlertActionChangedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ReminderAlertActionChangedEventArgs.html) has following properties which provides information for the `ReminderAlertActionChanged` event. @@ -247,4 +247,4 @@ private void OnScheduleReminderAlertActionChanged(object sender, Syncfusion.UI.X {% endhighlight %} {% endtabs %} -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. diff --git a/wpf/Scheduler/Resource-Grouping.md b/wpf/Scheduler/Resource-Grouping.md index d0cdfbea05..ce3314186d 100644 --- a/wpf/Scheduler/Resource-Grouping.md +++ b/wpf/Scheduler/Resource-Grouping.md @@ -9,13 +9,13 @@ documentation: ug # Resource Grouping in WPF Scheduler (SfScheduler) -The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) resource view will allow to group appointments based on the resources or dates, arranged by the column or row in the day, week, workweek, timeline day, timeline week, timeline workweek and timeline month views. It also allows to share the events or appointments to the multiple resources and resource appointment details can be edited by using a built-in appointment editor. +The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) resource view allows grouping appointments based on the resources or dates, arranged by column or row in the day, week, workweek, timeline day, timeline week, timeline workweek, and timeline month views. It also allows sharing events or appointments across multiple resources, and resource appointment details can be edited by using a built-in appointment editor. ## Grouping by Resources -Resources can be added to the scheduler by setting the [ResourceGroupType](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ResourceGroupType.html) property as `Resource` in `SfScheduler.` Set the [Id](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html#Syncfusion_UI_Xaml_Scheduler_SchedulerResource_Id), [Name](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html#Syncfusion_UI_Xaml_Scheduler_SchedulerResource_Name), [Foreground](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html#Syncfusion_UI_Xaml_Scheduler_SchedulerResource_Foreground) and [Background](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html#Syncfusion_UI_Xaml_Scheduler_SchedulerResource_Background) properties of [SchedulerResource](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html) to create a resource. Add the resource to the scheduler by using the [ResourceCollection](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ResourceCollection) property of `SfScheduler` and also add or remove the scheduler resources dynamically. +Resources can be added to the scheduler by setting the [ResourceGroupType](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ResourceGroupType.html) property as `Resource` in `SfScheduler`. Set the [Id](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html#Syncfusion_UI_Xaml_Scheduler_SchedulerResource_Id), [Name](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html#Syncfusion_UI_Xaml_Scheduler_SchedulerResource_Name), [Foreground](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html#Syncfusion_UI_Xaml_Scheduler_SchedulerResource_Foreground) and [Background](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html#Syncfusion_UI_Xaml_Scheduler_SchedulerResource_Background) properties of [SchedulerResource](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SchedulerResource.html) to create a resource. Add the resource to the scheduler by using the [ResourceCollection](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ResourceCollection) property of `SfScheduler` and resources can also be added or removed dynamically. -N>No resource view will be displayed, even a resource added using the `ResourceCollection` property when the `ResourceGroupType` property value is set to `None`. +N>No resource view will be displayed, even when a resource is added using the `ResourceCollection` property when the `ResourceGroupType` property value is set to `None`. {% tabs %} {% highlight c# %} @@ -40,9 +40,9 @@ N>[View sample in GitHub](https://github.com/SyncfusionExamples/resource-view-su ## Resource Grouping types -Group the resource order by `Date` or order by `Resource` using the [ResourceGroupType](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ResourceGroupType.html) property of `SfScheduler`. +Group resources by order `Date` or by order `Resource` using the [ResourceGroupType](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ResourceGroupType.html) property of `SfScheduler`. -N> Group the resource order in the day, week, work week, timeline day, timeline week, timeline workweek and timeline month views. +N> Group the resource order in the day, week, work week, timeline day, timeline week, timeline workweek, and timeline month views. ### Resource @@ -357,7 +357,7 @@ N> The minimum resource row height adjusted based on view port size and the [Vis Customize the number of visible resources in day, week, workweek, timeline day, timeline week, timeline workweek and timeline month views by using the [VisibleResourceCount](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ViewSettingsBase.html#Syncfusion_UI_Xaml_Scheduler_ViewSettingsBase_VisibleResourceCount) property of `DaysViewSettings` or `TimelineViewSettings` in `SfScheduler`. -N> Visible resource count exceed count of schedule `ResourceCollection` count then schedule `ResourceCollection` count will be displayed. +N> If the visible resource count exceeds the schedule `ResourceCollection` count, then the schedule `ResourceCollection` count will be displayed. #### Visible resource count in days view diff --git a/wpf/Scheduler/Time-Zone.md b/wpf/Scheduler/Time-Zone.md index bf15098d6b..3b9666f608 100644 --- a/wpf/Scheduler/Time-Zone.md +++ b/wpf/Scheduler/Time-Zone.md @@ -10,7 +10,7 @@ documentation: ug --- # Time Zone in WPF Scheduler (SfScheduler) -[WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) allows to create appointments in various time zones and display them in the respective time zone or any other time zone. Use the time zone in the following four different ways: +[WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) allows you to create appointments in various time zones and display them in the respective time zone or any other time zone. Use the time zone in the following four different ways: * Create appointments in different time zones. * Display appointments based on the client’s time zone. * Display appointments based on scheduler time zone. @@ -1184,8 +1184,8 @@ appointments.Add(new ScheduleAppointment() * The time zone support is applicable for custom appointments too, so map the corresponding property. * Use [TimeZone](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_TimeZone) for custom appointments by mapping the [StartTimeZone](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentMapping.html#Syncfusion_UI_Xaml_Scheduler_AppointmentMapping_StartTimeZone) and [EndTimeZone](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentMapping.html#Syncfusion_UI_Xaml_Scheduler_AppointmentMapping_EndTimeZone) custom properties of [AppointmentMapping](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentMapping.html). -## Display Appointments based on client’s time zone -Display the appointments based on the client’s local time zone in scheduler. For example, consider a scenario that you are in North Carolina and you want to set up a meeting at 10 A.M. on North Carolina time. You have colleagues in London and Chennai, and they also need to participate. The time for this meeting will be 3 P.M. (15:00) in London and 5.30 A.M. in Chennai. When each view your Scheduler, you need to see the appointment displayed relative to your local time zones 5.30 A.M., 10 A.M., and 3 P.M., respectively. It can be achieved by setting schedule time zone to default (it will consider your device’s local time zone as schedule time zone) and appointment’s time zone to `Eastern Standard Time (North Carolina)` [as you are in North Carolina and it's time zone is Eastern Standard Time]. +## Display appointments based on the client’s time zone +Display the appointments based on the client’s local time zone in the scheduler. For example, consider a scenario where you are in North Carolina and you want to set up a meeting at 10 A.M. North Carolina time. You have colleagues in London and Chennai, and they also need to participate. The time for this meeting will be 3 P.M. (15:00) in London and 5.30 A.M. in Chennai. When each views your Scheduler, you need to see the appointment displayed relative to your local time zones 5.30 A.M., 10 A.M., and 3 P.M., respectively. It can be achieved by setting schedule time zone to default (it will consider your device’s local time zone as schedule time zone) and appointment’s time zone to `Eastern Standard Time (North Carolina)` [as you are in North Carolina and its time zone is Eastern Standard Time]. ## Display appointments based on Scheduler time zone Set the specific time zone to schedule using the [TimeZone](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_TimeZone) property of scheduler. On this scenario, the appointments will be displayed in UTC time when the `StartTimeZone` and `EndTimeZone` properties of `ScheduleAppointment` are set to null. The appointments will be displayed in UTC time based on the given scheduler time zone. @@ -1203,13 +1203,13 @@ this.Schedule.TimeZone = "Central America Standard Time"; ## Display appointments at same time everywhere regardless of client’s time zone Display the appointments at the same time everywhere without considering the time zone while setting the TimeZone property of the scheduler, the `StartTimeZone` and `EndTimeZone` properties of `ScheduleAppointment` to null. The appointments will be displayed based on the given `StartTime` and `EndTime` of appointment everywhere without considering the time zone. -## Updating StartTime and EndTime after drag and drop appointment based on time zone. +## Updating StartTime and EndTime after drag and drop appointment based on time zone After rescheduling an appointment using drag and drop, appointment’s start and end time value will be updated based on scheduler time zone and appointment’s time zone. For an example, consider the local time zone is `India Standard Time`, if you drag an appointment from 9 AM and drop this on 1 PM and the scheduler’s `TimeZone` is not set and the appointment’s `StartTimeZone` and `EndTimeZone` has set as `AUS Central Standard Time (Darwin)` then appointment’s start time and end time value will be converted from Local time zone to appointment time zone and the appointment’s start time will be saved at 9 AM. If you set scheduler’s `TimeZone` as `AUS Central Standard Time (Darwin)` and the appointment’s `StartTimeZone` and `EndTimeZone` as `Central Standard Time (Mexico)` then the appointment’s start time and end time value has converted from scheduler’s time zone to appointment time zone and the appointment’s start time will be saved at 3.30 AM of next day. -If you set scheduler’s `TimeZone` as `AUS Central Standard Time (Darwin)` and appointment’s time zone was not set then the appointment’s start time and end time value converted from scheduler time zone to `UTC time zone` and the appointment’s start time will be saved at 10.30 PM. +If you set scheduler’s `TimeZone` as `AUS Central Standard Time (Darwin)` and the appointment’s time zone is not set, then the appointment’s start time and end time value is converted from scheduler time zone to `UTC time zone` and the appointment’s start time will be saved at 10.30 PM. -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file diff --git a/wpf/Scheduler/TimelineView.md b/wpf/Scheduler/TimelineView.md index 0e0870523e..d0f973c6a0 100644 --- a/wpf/Scheduler/TimelineView.md +++ b/wpf/Scheduler/TimelineView.md @@ -8,7 +8,7 @@ documentation: ug --- # Timeline Views in WPF Scheduler (SfScheduler) -The `TimelineView` displays the dates in horizontal time axis with the desired day’s count. Scheduler supports to display the `TimelineDay,` `TimelineWeek,` `TimelineWorkWeek,` and `TimelineMonth` views. See the past or future dates by scrolling to the right or left. Each view displays the events accurately across the time slots with an intuitive drag-and-drop feature. It provides the support to highlight the selected region of time slots and handle the interaction. +The `TimelineView` displays the dates on a horizontal time axis with the desired day’s count. Scheduler supports displaying the `TimelineDay,` `TimelineWeek,` `TimelineWorkWeek,` and `TimelineMonth` views. View the past or future dates by scrolling to the right or left. Each view displays the events accurately across the time slots with an intuitive drag-and-drop feature. It provides support for highlighting the selected region of time slots and handling the interaction. ## Change time interval Customize the interval of timeslots in the timeline views by using the [TimeInterval](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeInterval) property of [TimelineViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimelineViewSettings.html). This property will be applicable to `TimelineDay`, `TimelineWeek,` and `TimelineWorkWeek` views. @@ -75,7 +75,7 @@ N> * If the custom `StartHour` and `EndHour` are given, then the number of time slots calculated based on given `StartHour` and `EndHour` should result in the integer value, otherwise next immediate `TimeInterval` will be considered until the result is the integer value. For example, if `StartHour` is 9 (09:00AM), `EndHour` is 18.25 (06:15 PM), `TimeInterval` is 30 minutes, and total minutes = 555 ((18.25-9)*60), then the `TimeInterval` will be changed to ’37 minutes’ (555%37=0) by considering (total minutes % timeInterval = 0). It will return the integer value for time slots rendering. ## Change days count -Change the day's count of timeslots in the timeline view by setting the [DaysCount](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_DaysCount) property of `TimelineViewSettings.` This property is only applicable for the `TimelineDay` view. By default, it's value is set to 1. +Change the day's count of timeslots in the timeline view by setting the [DaysCount](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_DaysCount) property of `TimelineViewSettings.` This property is only applicable for the `TimelineDay` view. By default, its value is set to 1. {% tabs %} {% highlight xaml %} @@ -124,7 +124,7 @@ private ObservableCollection GetBlackoutDates() Restrict the user interaction such as selection and highlights specific regions of time in the timeline views by adding the [SpecialTimeRegions](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_SpecialTimeRegions) property of [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html). Set the [StartTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_StartTime) and [EndTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_EndTime) properties of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html) to create a `SpecialTimeRegion,` use the timeZone property to set the specific timezone for the start and end time of the `SpecialTimeRegion.` The `SpecialTimeRegion` will display the text or image on it that is set to the text or icon property of `SpecialTimeRegion.` This property will be applicable to the `TimelineDay,` `TimelineWeek,` and `TimelineWorkWeek` views. ### Selection restriction in timeslots -Enable or disable the touch interaction of `SpecialTimeRegion` using the [CanEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_CanEdit) property of `SpecialTimeRegion`. By default, it's value is true. +Enable or disable the touch interaction of `SpecialTimeRegion` using the [CanEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_CanEdit) property of `SpecialTimeRegion`. By default, its value is true. {% tabs %} {% highlight xaml %} @@ -326,7 +326,7 @@ N> * All day Appointment does not support `MinimumAppointmentDuration`. ## Time text formatting -Customize the format for the labels mentioning the time, by setting the [TimeRulerFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeRulerFormat) property of `TimelineViewSettings` in the `Scheduler`. This property will not applicable for the `TimelineMonth` view. +Customize the format for the labels mentioning the time, by setting the [TimeRulerFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeRulerFormat) property of `TimelineViewSettings` in the `Scheduler`. This property will not be applicable for the `TimelineMonth` view. {% tabs %} {% highlight c# %} Schedule.ViewType = SchedulerViewType.TimelineWeek; From 6d48def985eb63c90dbb5e36ee50f341ae880f88 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Tue, 7 Jul 2026 13:14:54 +0530 Subject: [PATCH 02/46] Fixed CI errors. --- wpf/Scheduler/Appointments.md | 10 +++++----- wpf/Scheduler/Calendar-Types.md | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/wpf/Scheduler/Appointments.md b/wpf/Scheduler/Appointments.md index 90392e5097..20ad26b025 100644 --- a/wpf/Scheduler/Appointments.md +++ b/wpf/Scheduler/Appointments.md @@ -9,7 +9,7 @@ documentation: ug # Appointments in WPF Scheduler (SfScheduler) -The [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) control has a built-in capability to handle the appointment arrangement internally based on the [ScheduleAppointmentCollection](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointmentCollection.html). The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) supports to render normal, all-day appointments, spanned appointment, recurring appointments, and recurrence exception dates appointments. +The [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) control has a built-in capability to handle the appointment arrangement internally based on the [ScheduleAppointmentCollection](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointmentCollection.html). The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) supports rendering normal, all-day appointments, spanned appointment, recurring appointments, and recurrence exception dates appointments. The [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) is a class that includes the specific scheduled appointment. It has some basic properties such as [StartTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_StartTime), [EndTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_EndTime), [Subject](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Subject), and some additional information about the appointment can be added with [Notes](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Notes), [Location](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Location), and [IsAllDay](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_IsAllDay) properties. {%tabs %} @@ -45,8 +45,8 @@ N> [View sample in GitHub](https://github.com/SyncfusionExamples/adding-schedule-appointment-collection-to-the-itemsource-of-scheduler-wpf) -## Scheduler item source and Mapping -The `Scheduler` supports to bind any collection that implements the IEnumerable interface to populate appointments. Map the properties in business object to [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) by configuring the [AppointmentMapping](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentMapping.html) property. The following table that property shows mapping property details to `ScheduleAppointment`. +## Scheduler item source and mapping +The `Scheduler` supports binding any collection that implements the IEnumerable interface to populate appointments. Map the properties in the business object to [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) by configuring the [AppointmentMapping](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.AppointmentMapping.html) property. The following table shows the mapping property details to `ScheduleAppointment`. @@ -130,7 +130,7 @@ Schedule.AppointmentMapping = dataMapping; {% endhighlight %} {% endtabs %} -Schedule the meetings for a day by setting `From` and `To` of Meeting class. Create meetings of type `ObservableCollection ` and assign those appointments collection Meetings to the [ItemsSource](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ItemsSource) property which is of IEnumerable type. +Schedule the meetings for a day by setting `From` and `To` of the Meeting class. Create meetings of type `ObservableCollection` and assign the appointments collection `Meetings` to the [ItemsSource](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ItemsSource) property which is of IEnumerable type. {% tabs %} {% highlight c# %} @@ -570,7 +570,7 @@ var exceptionAppointment = new ScheduleAppointment() }; // Adding an exception occurence appointment to the AppointmentCollection. appointmentCollection.Add(exceptionAppointment); -//Setting the AppointmentCollection as a ItemSource of SfScheduler. +//Setting the AppointmentCollection as the ItemSource of SfScheduler. Schedule.ItemsSource = appointmentCollection; {% endhighlight %} {% endtabs %} diff --git a/wpf/Scheduler/Calendar-Types.md b/wpf/Scheduler/Calendar-Types.md index 79f4ae5940..b50582985e 100644 --- a/wpf/Scheduler/Calendar-Types.md +++ b/wpf/Scheduler/Calendar-Types.md @@ -2,7 +2,7 @@ layout: post title: Calendar Types in WPF Scheduler control | Syncfusion description: Learn here all about how to change the calendar types in the scheduler (SfScheduler) control, its elements, and more. -platform: WPF +platform: wpf control: SfScheduler documentation: ug --- From c3dcbb6b1ed2dbe8d9539d4ed625088cfc77fe01 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Thu, 9 Jul 2026 13:40:29 +0530 Subject: [PATCH 03/46] Task(1036752): Updated UG revamp work for WPF calendar control. --- wpf/Calendar/Appearance.md | 36 ++- wpf/Calendar/Date-Selection.md | 356 +++++++++++++--------- wpf/Calendar/Getting-Started.md | 10 +- wpf/Calendar/Navigation-Support.md | 125 ++++---- wpf/Calendar/Restrict-Date-Selection.md | 128 +++++--- wpf/Calendar/Using-CalendarEdit-Object.md | 97 ++++-- 6 files changed, 462 insertions(+), 290 deletions(-) diff --git a/wpf/Calendar/Appearance.md b/wpf/Calendar/Appearance.md index 3723cf291e..913c8091fc 100644 --- a/wpf/Calendar/Appearance.md +++ b/wpf/Calendar/Appearance.md @@ -17,18 +17,22 @@ You can change the default foreground, mouse hover foreground and border brush o {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.Foreground = Brushes.Blue; -calendarEdit.MouseOverForeground = Brushes.Red; -calendarEdit.MouseOverBorderBrush = Brushes.DarkGoldenrod; +this.calendarEdit.Foreground = Brushes.Blue; +this.calendarEdit.MouseOverForeground = Brushes.Red; +this.calendarEdit.MouseOverBorderBrush = Brushes.DarkGoldenrod; {% endhighlight %} {% endtabs %} @@ -43,16 +47,20 @@ You can change the default background and mouse hover background color of the `C {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.Background = Brushes.Pink; -calendarEdit.MouseOverBackground = Brushes.Green; +this.calendarEdit.Background = Brushes.Pink; +this.calendarEdit.MouseOverBackground = Brushes.Green; {% endhighlight %} {% endtabs %} @@ -67,14 +75,18 @@ You can change the flow direction of the `CalendarEdit` layout from right to lef {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.FlowDirection = FlowDirection.RightToLeft; +this.calendarEdit.FlowDirection = FlowDirection.RightToLeft; {% endhighlight %} {% endtabs %} diff --git a/wpf/Calendar/Date-Selection.md b/wpf/Calendar/Date-Selection.md index 6b002d3e4d..9db703a6a3 100644 --- a/wpf/Calendar/Date-Selection.md +++ b/wpf/Calendar/Date-Selection.md @@ -18,14 +18,17 @@ You can select a date in the `CalendarEdit` control by mouse click on the specif {% tabs %} {% highlight XAML %} - - - + + + {% endhighlight %} {% highlight C# %} -CalendarEdit calendarEdit = new CalendarEdit(); +using Syncfusion.Windows.Shared; +CalendarEdit calendarEdit = new CalendarEdit(); {% endhighlight %} {% endtabs %} @@ -40,14 +43,19 @@ You can set selected date programmatically by setting the date value to the [Dat {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Selecting date programmatically -calendarEdit.Date = new DateTime(2020, 08, 25); +this.calendarEdit.Date = new DateTime(2020, 08, 25); {% endhighlight %} {% endtabs %} @@ -58,21 +66,23 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/syncfusin-wpf-c ## Select multiple dates -You can select a multiple dates by drag and move the mouse from required start date to end date. +You can select multiple dates by drag and move the mouse from required start date to end date. You can get the selected dates from the [SelectedDates](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectedDates) property. You can restrict the multiple date selection by setting [AllowMultiplySelection](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_AllowMultiplySelection) property as `false`. The default value of `AllowMultiplySelection` property is `true`. {% tabs %} {% highlight XAML %} - - - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Selecting multiple dates -calendarEdit.AllowMultiplySelection = true; +this.calendarEdit.AllowMultiplySelection = true; {% endhighlight %} {% endtabs %} @@ -83,20 +93,23 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/syncfusin-wpf-c ### Select specific multiple dates -You can select a specific multiple dates by pressing the `Ctrl` key and select required dates using mouse click. +You can select specific multiple dates by pressing the `Ctrl` key and select required dates using mouse click. {% tabs %} {% highlight XAML %} - - - + + +> {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Selecting multiple dates -calendarEdit.AllowMultiplySelection = true; +this.calendarEdit.AllowMultiplySelection = true; {% endhighlight %} {% endtabs %} @@ -105,29 +118,33 @@ calendarEdit.AllowMultiplySelection = true; N> [View Sample in GitHub](https://github.com/SyncfusionExamples/syncfusin-wpf-calendar-examples/tree/master/Samples/Select-Date) -### Select a multiple dates programmatically +### Select multiple dates programmatically You can select a multiple dates programmatically by setting the dates to the [SelectedDatesList](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectedDatesList) property. {% tabs %} {% highlight XAML %} - - - + + Name="calendarEdit"> + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Selecting multiple date programmatically -calendarEdit.AllowMultiplySelection = true; -calendarEdit.SelectedDatesList = new List(); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 01)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 05)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 10)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 15)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 20)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 29)); +this.calendarEdit.AllowMultiplySelection = true; +this.calendarEdit.SelectedDatesList = new List(); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 01)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 05)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 10)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 15)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 20)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 29)); {% endhighlight %} {% endtabs %} @@ -138,20 +155,23 @@ calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 29)); You can select a multiple dates by pressing the `Shift` with `Arrow` keys. If you want to select multiple dates in forward direction, press the `Shift + Down` or `Shift + Right` keys. If you want to select a date in backward direction, press the `Shift + UP` or `Shift + Left` keys. You can get the selected dates from the `SelectedDates` property. -For example, if you start selecting the date from `18 Nov 2020` using key navigation, it will be select the dates as follows, +For example, if you start selecting the date from `18 Nov 2020` using key navigation, it will select the dates as follows, {% tabs %} {% highlight XAML %} - - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Selecting multiple dates -calendarEdit.AllowMultiplySelection = true; +this.calendarEdit.AllowMultiplySelection = true; {% endhighlight %} {% endtabs %} @@ -168,16 +188,19 @@ You can select or unselect the specific multiple dates by using the `Ctrl`, `Arr {% tabs %} {% highlight XAML %} - - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Selecting multiple dates -calendarEdit.AllowMultiplySelection = true; +this.calendarEdit.AllowMultiplySelection = true; {% endhighlight %} {% endtabs %} @@ -188,28 +211,32 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/syncfusin-wpf-c ## Highlight selected date -If you want to highlight the selected date, change it's foreground, background or border brush by using the [SelectionForeground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectionForeground), [SelectedDayCellBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectedDayCellBackground) and [SelectedDayCellBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectedDayCellBorderBrush) and properties. You can also change the mouse hover background and border brush for the selected day cell by using the [SelectedDayCellHoverBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectedDayCellHoverBackground) and [SelectionBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectionBorderBrush) properties. +If you want to highlight the selected date, change its foreground, background or border brush by using the [SelectionForeground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectionForeground), [SelectedDayCellBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectedDayCellBackground) and [SelectedDayCellBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectedDayCellBorderBrush) and properties. You can also change the mouse hover background and border brush for the selected day cell by using the [SelectedDayCellHoverBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectedDayCellHoverBackground) and [SelectionBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectionBorderBrush) properties. ![Changed selected date appearance](Working-with-Calendar_images/SelectionApperance.png) {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.SelectedDayCellBackground = Brushes.Yellow; -calendarEdit.SelectedDayCellBorderBrush = Brushes.Blue; -calendarEdit.SelectionForeground = Brushes.Red; -calendarEdit.SelectedDayCellHoverBackground = Brushes.Green; -calendarEdit.SelectionBorderBrush = Brushes.Red; +this.calendarEdit.SelectedDayCellBackground = Brushes.Yellow; +this.calendarEdit.SelectedDayCellBorderBrush = Brushes.Blue; +this.calendarEdit.SelectionForeground = Brushes.Red; +this.calendarEdit.SelectedDayCellHoverBackground = Brushes.Green; +this.calendarEdit.SelectionBorderBrush = Brushes.Red; {% endhighlight %} {% endtabs %} @@ -224,8 +251,9 @@ If you want to know the today date, use the [TodayDate](https://help.syncfusion. {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -CalendarEdit calendarEdit = new calendarEdit(); +CalendarEdit calendarEdit = new CalendarEdit(); //get the today date var today_Date= calendarEdit.TodayDate; @@ -239,16 +267,20 @@ If you want to display the today date in the `CalendarEdit` control, use the [To {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; //Enable the today row -calendarEdit.TodayRowIsVisible = true; +this.calendarEdit.TodayRowIsVisible = true; {% endhighlight %} {% endtabs %} @@ -259,24 +291,28 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/syncfusin-wpf-c ### Highlight today date -If you want to highlight the today date, change it's foreground, background or border brush by using [TodayCellForeground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellForeground), [TodayCellBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellBackground) and [TodayCellBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellBorderBrush) properties. You can also change the selected border brush and background of the today date by using the [TodayCellSelectedBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellSelectedBorderBrush) and [TodayCellSelectedBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellSelectedBackground) properties. +If you want to highlight the today date, change its foreground, background or border brush by using [TodayCellForeground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellForeground), [TodayCellBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellBackground) and [TodayCellBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellBorderBrush) properties. You can also change the selected border brush and background of the today date by using the [TodayCellSelectedBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellSelectedBorderBrush) and [TodayCellSelectedBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_TodayCellSelectedBackground) properties. ![Changing today dates foreground and background to highlight](Working-with-Calendar_images/Highlight_todaydate.png) {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.TodayCellSelectedBorderBrush = Brushes.Red; -calendarEdit.TodayCellSelectedBackground = Brushes.Green; -calendarEdit.TodayCellForeground = Brushes.Yellow; +this.calendarEdit.TodayCellSelectedBorderBrush = Brushes.Red; +this.calendarEdit.TodayCellSelectedBackground = Brushes.Green; +this.calendarEdit.TodayCellForeground = Brushes.Yellow; {% endhighlight %} {% endtabs %} @@ -291,19 +327,23 @@ If you want to differentiate currently selected month days from previous or next {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.NotCurrentMonthForeground = Brushes.Red; +this.calendarEdit.NotCurrentMonthForeground = Brushes.Red; {% endhighlight %} {% endtabs %} -![Changing previous and next month days foregroud to differentiate current month days](Working-with-Calendar_images/NotCurrentMonthForeground.png) +![Changing previous and next month days foreground to differentiate current month days](Working-with-Calendar_images/NotCurrentMonthForeground.png) N> [View Sample in GitHub](https://github.com/SyncfusionExamples/syncfusin-wpf-calendar-examples/tree/master/Samples/Select-Date) @@ -316,14 +356,18 @@ You can change the default calendar view as week numbers, month, years or years {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.VisualMode = CalendarVisualMode.YearsRange; +this.calendarEdit.VisualMode = CalendarVisualMode.YearsRange; {% endhighlight %} {% endtabs %} @@ -338,16 +382,19 @@ If you want to know the week number of the currently displayed dates, use the [S {% tabs %} {% highlight XAML %} - - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Shows week numbers -calendarEdit.ShowWeekNumbers = true; +this.calendarEdit.ShowWeekNumbers = true; {% endhighlight %} {% endtabs %} @@ -362,8 +409,11 @@ If you want to highlight the week numbers, change it's foreground, background or {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.WeekNumberBackground = Brushes.Green; -calendarEdit.WeekNumberBorderBrush = Brushes.Red; -calendarEdit.WeekNumberForeground = Brushes.Yellow; -calendarEdit.WeekNumberHoverBackground = Brushes.Yellow; -calendarEdit.WeekNumberHoverBorderBrush = Brushes.Blue; -calendarEdit.WeekNumberHoverForeground = Brushes.Green; -calendarEdit.ShowWeekNumbers = true; -calendarEdit.VisualMode = CalendarVisualMode.WeekNumbers; +this.calendarEdit.WeekNumberBackground = Brushes.Green; +this.calendarEdit.WeekNumberBorderBrush = Brushes.Red; +this.calendarEdit.WeekNumberForeground = Brushes.Yellow; +this.calendarEdit.WeekNumberHoverBackground = Brushes.Yellow; +this.calendarEdit.WeekNumberHoverBorderBrush = Brushes.Blue; +this.calendarEdit.WeekNumberHoverForeground = Brushes.Green; +this.calendarEdit.ShowWeekNumbers = true; +this.calendarEdit.VisualMode = CalendarVisualMode.WeekNumbers; {% endhighlight %} {% endtabs %} @@ -397,6 +449,7 @@ You can differentiate the special day from other days by setting that date value {% tabs %} {% highlight C# %} +using Syncfusion.Windows.Shared; //ViewModel.cs public class ViewModel { @@ -415,7 +468,9 @@ public class ViewModel { {% tabs %} {% highlight XAML %} - + @@ -449,7 +504,8 @@ public class ViewModel { SpecialDates="{Binding SpecialDates}" Name="calendarEdit" /> - + + {% endhighlight %} {% endtabs %} @@ -463,16 +519,19 @@ You can change the culture for `CalendarEdit` control by setting the required cu {% tabs %} {% highlight XAML %} - - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Setting french culture -calendarEdit.Culture = new CultureInfo("fr-FR"); +this.calendarEdit.Culture = new CultureInfo("fr-FR"); {% endhighlight %} {% endtabs %} @@ -485,17 +544,21 @@ You can display full month names and week day names by setting the [ShowAbbrevia {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -CalendarEdit calendarEdit = new CalendarEdit(); -calendarEdit.ShowAbbreviatedDayNames = false; -calendarEdit.ShowAbbreviatedMonthNames = false; +this.CalendarEdit calendarEdit = new CalendarEdit(); +this.calendarEdit.ShowAbbreviatedDayNames = false; +this.calendarEdit.ShowAbbreviatedMonthNames = false; {% endhighlight %} {% endtabs %} @@ -534,19 +597,22 @@ You can customize the appearance of day cell by using the [DayCellsStyle](https: {% tabs %} {% highlight XAML %} - - - - - - - - + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -561,23 +627,26 @@ You can customize the appearance of day cell by using the [DayCellsDataTemplate] {% tabs %} {% highlight XAML %} - - - - - - - - - - + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -592,19 +661,22 @@ You can customize the appearance of day name cell by using the [DayNameCellsStyl {% tabs %} {% highlight XAML %} - - - - - - - - + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -619,15 +691,19 @@ The selected date changed in `CalendarEdit` can be examined using [DateChanged]( {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -CalendarEdit calendarEdit = new CalendarEdit(); -calendarEdit.DateChanged += CalendarEdit_DateChanged; +this.CalendarEdit calendarEdit = new CalendarEdit(); +this.calendarEdit.DateChanged += CalendarEdit_DateChanged; {% endhighlight %} {% endtabs %} diff --git a/wpf/Calendar/Getting-Started.md b/wpf/Calendar/Getting-Started.md index 3d4b2e4a1e..5a29e3b111 100644 --- a/wpf/Calendar/Getting-Started.md +++ b/wpf/Calendar/Getting-Started.md @@ -164,7 +164,7 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/syncfusin-wpf-c ## Select multiple dates -You can select a multiple dates by drag and move the mouse from required start date to end date. +You can select multiple dates by drag and move the mouse from required start date to end date. You can get the selected dates from the [SelectedDates](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_SelectedDates) property. You can restrict the multiple date selection by setting [AllowMultiplySelection](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_AllowMultiplySelection) property as `false`. The default value of `AllowMultiplySelection` property is `true`. {% tabs %} @@ -262,11 +262,11 @@ If you want to block particular dates from the date selection, add that date ran {% highlight c# %} calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { - StartDate = new DateTime(2020, 08, 03), - EndDate = new DateTime(2020, 08, 07)}); + StartDate = new DateTime(2020, 07, 03), + EndDate = new DateTime(2020, 07, 07)}); calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { - StartDate = new DateTime(2020, 08, 22), - EndDate = new DateTime(2020, 08, 25)}); + StartDate = new DateTime(2020, 07, 22), + EndDate = new DateTime(2020, 07, 25)}); {% endhighlight %} {% endtabs %} diff --git a/wpf/Calendar/Navigation-Support.md b/wpf/Calendar/Navigation-Support.md index 639d9549f5..91a3e145b9 100644 --- a/wpf/Calendar/Navigation-Support.md +++ b/wpf/Calendar/Navigation-Support.md @@ -31,20 +31,25 @@ If you want to change the animation time for navigate to the day, month or year {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.ChangeModeTime = 0; +this.calendarEdit.ChangeModeTime = 0; {% endhighlight %} {% endtabs %} ![Navigation between day, month or year modes animation time is changed](Navigation_images/ChangeModeTime.gif) -Here, `ChangeModeTime` property value is `0`. So. navigation between day, month or year mode is done without any animation delay. +Here, `ChangeModeTime` property value is `0`. So, navigation between day, month or year mode is done without any animation delay. N> [View Sample in GitHub](https://github.com/SyncfusionExamples/syncfusin-wpf-calendar-examples/tree/master/Samples/Navigation) @@ -54,15 +59,20 @@ You can change the background and foreground of the `CalendarEdit` header by usi {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.HeaderBackground = Brushes.Green; -calendarEdit.HeaderForeground = Brushes.Yellow; +this.calendarEdit.HeaderBackground = Brushes.Green; +this.calendarEdit.HeaderForeground = Brushes.Yellow; {% endhighlight %} {% endtabs %} @@ -77,65 +87,73 @@ You can navigate to the previous or next month by clicking on the `Previous-Next {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.FrameMovingTime = 0; +this.calendarEdit.FrameMovingTime = 0; {% endhighlight %} {% endtabs %} ![Navigation between next and previous months animation time is changed](Navigation_images/FrameMovingTime.gif) -Here, `FrameMovingTime` property value is `0`. So. navigation between next and previous month is done without any animation delay. +Here, `FrameMovingTime` property value is `0`. So, navigation between next and previous month is done without any animation delay. N> [View Sample in GitHub](https://github.com/SyncfusionExamples/syncfusin-wpf-calendar-examples/tree/master/Samples/Navigation) ## Custom UI for previous and next navigation buttons -You can customize the previous and next navigation buttons by using the [PreviousScrollButtonTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_PreviousScrollButtonTemplate) an [NextScrollButtonTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_NextScrollButtonTemplate) properties. +You can customize the previous and next navigation buttons by using the [PreviousScrollButtonTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_PreviousScrollButtonTemplate) and [NextScrollButtonTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.CalendarEdit.html#Syncfusion_Windows_Shared_CalendarEdit_NextScrollButtonTemplate) properties. {% tabs %} {% highlight XAML %} - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -150,13 +168,18 @@ You can change previous or next month navigation direction to either `Horizontal {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.MonthChangeDirection = AnimationDirection.Vertical; +this.calendarEdit.MonthChangeDirection = AnimationDirection.Vertical; {% endhighlight %} {% endtabs %} diff --git a/wpf/Calendar/Restrict-Date-Selection.md b/wpf/Calendar/Restrict-Date-Selection.md index 69c59130ee..98cbfdef5b 100644 --- a/wpf/Calendar/Restrict-Date-Selection.md +++ b/wpf/Calendar/Restrict-Date-Selection.md @@ -17,18 +17,21 @@ You can restrict the users from selecting a date within the particular range by {% tabs %} {% highlight xaml %} - - - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; -CalendarEdit calendarEdit = new CalendarEdit(); -calendarEdit.MinDate = new DateTime(2020, 05, 01); -calendarEdit.MaxDate = new DateTime(2020, 05, 10); +this.CalendarEdit calendarEdit = new CalendarEdit(); +this.calendarEdit.MinDate = new DateTime(2020, 05, 01); +this.calendarEdit.MaxDate = new DateTime(2020, 05, 10); {% endhighlight %} {% endtabs %} @@ -45,19 +48,23 @@ If you want to show the disabled dates which are not within the range of minimum {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; -CalendarEdit calendarEdit = new CalendarEdit(); -calendarEdit.MinDate = new DateTime(2020, 05, 01); -calendarEdit.MaxDate = new DateTime(2020, 05, 10); -calendarEdit.MinMaxHidden = false; +this.CalendarEdit calendarEdit = new CalendarEdit(); +this.calendarEdit.MinDate = new DateTime(2020, 05, 01); +this.calendarEdit.MaxDate = new DateTime(2020, 05, 10); +this.calendarEdit.MinMaxHidden = false; {% endhighlight %} {% endtabs %} @@ -72,13 +79,18 @@ If you want to restrict the user to select the date, use the [DisableDateSelecti {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.DisableDateSelection = true; +this.calendarEdit.DisableDateSelection = true; {% endhighlight %} {% endtabs %} @@ -93,23 +105,27 @@ If you want to block particular dates from the date selection, add that date ran {% tabs %} {% highlight xaml %} - - - - - - - + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { +this.calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { StartDate = new DateTime(2020, 07, 03), EndDate = new DateTime(2020, 07, 07)}); -calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { +this.calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { StartDate = new DateTime(2020, 07, 22), EndDate = new DateTime(2020, 07, 25)}); @@ -128,31 +144,35 @@ You can change the background and cross-mark color of the block out days by usin {% tabs %} {% highlight XAML %} - - + - - - - - + + + + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.BlackoutDatesBackground = Brushes.Yellow; -calendarEdit.BlackoutDatesBorderBrush = Brushes.Green; -calendarEdit.BlackoutDatesCrossBrush = Brushes.Red; -calendarEdit.BlackoutDatesForeground = Brushes.Blue; -calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { +this.calendarEdit.BlackoutDatesBackground = Brushes.Yellow; +this.calendarEdit.BlackoutDatesBorderBrush = Brushes.Green; +this.calendarEdit.BlackoutDatesCrossBrush = Brushes.Red; +this.calendarEdit.BlackoutDatesForeground = Brushes.Blue; +this.calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { StartDate = new DateTime(2020, 07, 03), EndDate = new DateTime(2020, 07, 07)}); -calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { +this.calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { StartDate = new DateTime(2020, 07, 22), EndDate = new DateTime(2020, 07, 25)}); @@ -169,15 +189,20 @@ If you want show only the currently displaying month's days without displaying p {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.ShowNextMonthDays = false; -calendarEdit.ShowPreviousMonthDays = false; +this.calendarEdit.ShowNextMonthDays = false; +this.calendarEdit.ShowPreviousMonthDays = false; {% endhighlight %} {% endtabs %} @@ -192,15 +217,20 @@ If you want to restrict the user to select the date or month or year, use the [A {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; -calendarEdit.AllowSelection = false; -calendarEdit.Date = new DateTime(2020, 08, 12); +this.calendarEdit.AllowSelection = false; +this.calendarEdit.Date = new DateTime(2020, 08, 12); {% endhighlight %} {% endtabs %} diff --git a/wpf/Calendar/Using-CalendarEdit-Object.md b/wpf/Calendar/Using-CalendarEdit-Object.md index 025f1f8e26..db339b43f3 100644 --- a/wpf/Calendar/Using-CalendarEdit-Object.md +++ b/wpf/Calendar/Using-CalendarEdit-Object.md @@ -19,9 +19,10 @@ Returns the system datetime, that is, the specified number of days away from the {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.AddDays(calendarEdit.Date, 5); -MessageBox.Show(calendarEdit.Calendar.AddDays(calendarEdit.Date, 5);.ToString()); +this.calendarEdit.Calendar.AddDays(calendarEdit.Date, 5); +MessageBox.Show(calendarEdit.Calendar.AddDays(calendarEdit.Date, 5).ToString()); {% endhighlight %} {% endtabs %} @@ -32,8 +33,9 @@ Returns the system datetime, that is, the specified number of hours away from th {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.AddHours(calendarEdit.Date, 2); +this.calendarEdit.Calendar.AddHours(calendarEdit.Date, 2); MessageBox.Show(calendarEdit.Calendar.AddHours(calendarEdit.Date, 2).ToString()); {% endhighlight %} @@ -45,8 +47,9 @@ Returns the system datetime, that is, the specified number of months away from t {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.AddMonths(calendarEdit.Date, 3); +this.calendarEdit.Calendar.AddMonths(calendarEdit.Date, 3); MessageBox.Show(calendarEdit.Calendar.AddMonths(calendarEdit.Date, 3).ToString()); {% endhighlight %} @@ -58,8 +61,9 @@ Returns the system datetime, that is, the specified number of milliseconds away {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.AddMilliseconds(calendarEdit.Date, 200); +this.calendarEdit.Calendar.AddMilliseconds(calendarEdit.Date, 200); MessageBox.Show(calendarEdit.Calendar.AddMilliseconds(calendarEdit.Date, 200).ToString()); {% endhighlight %} @@ -71,8 +75,9 @@ Returns the system datetime, that is, the specified number of milliseconds away {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.AddMinutes(calendarEdit.Date, 5); +this.calendarEdit.Calendar.AddMinutes(calendarEdit.Date, 5); MessageBox.Show(calendarEdit.Calendar.AddMinutes(calendarEdit.Date, 5).ToString()); {% endhighlight %} @@ -84,8 +89,9 @@ Returns the system datetime, that is, specified number of seconds away from the {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.AddSeconds(calendarEdit.Date, 30); +this.calendarEdit.Calendar.AddSeconds(calendarEdit.Date, 30); MessageBox.Show(calendarEdit.Calendar.AddSeconds(calendarEdit.Date, 30).ToString()); {% endhighlight %} @@ -97,8 +103,9 @@ Returns the system datetime, that is, specified number of weeks away from the sp {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.AddWeeks(calendarEdit.Date, 2); +this.calendarEdit.Calendar.AddWeeks(calendarEdit.Date, 2); MessageBox.Show(calendarEdit.Calendar.AddWeeks(calendarEdit.Date, 2).ToString()); {% endhighlight %} @@ -110,8 +117,9 @@ Returns the system datetime, that is, the specified number of years away from th {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.AddYears(calendarEdit.Date, 1); +this.calendarEdit.Calendar.AddYears(calendarEdit.Date, 1); MessageBox.Show(calendarEdit.Calendar.AddYears(calendarEdit.Date, 1).ToString()); {% endhighlight %} @@ -123,8 +131,9 @@ Returns the day of the month, in the specified System datetime. You can use a Me {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetDayOfMonth(calendarEdit.Date); +this.calendarEdit.Calendar.GetDayOfMonth(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetDayOfMonth(calendarEdit.Date).ToString()); {% endhighlight %} @@ -136,8 +145,9 @@ Returns the day of the week, in the specified System datetime. You can use a Mes {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetDayOfWeek(calendarEdit.Date); +this.calendarEdit.Calendar.GetDayOfWeek(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetDayOfWeek(calendarEdit.Date).ToString()); {% endhighlight %} @@ -149,21 +159,23 @@ Returns the day of the year, in the specified System datetime. You can use a Mes {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetDayOfYear(calendarEdit.Date); +this.calendarEdit.Calendar.GetDayOfYear(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetDayOfYear(calendarEdit.Date).ToString()); {% endhighlight %} {% endtabs %} -### GetDayOfYear +### GetDaysInMonth Returns the number of days, in the specified month and year of the current era. You can use a Message Box to see the content of date after this method is called. {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetDaysInMonth(2009, 2); +this.calendarEdit.Calendar.GetDaysInMonth(2009, 2); MessageBox.Show(calendarEdit.Calendar.GetDaysInMonth(2009, 2).ToString()); {% endhighlight %} @@ -175,8 +187,9 @@ Returns the number of days, in the specified year of the current era. You can us {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetDaysInYear(2009); +this.calendarEdit.Calendar.GetDaysInYear(2009); MessageBox.Show(calendarEdit.Calendar.GetDaysInYear(2009).ToString()); {% endhighlight %} @@ -188,8 +201,9 @@ Returns the era, in the specified date time. You can use a Message Box to see th {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetEra(calendarEdit.Date); +this.calendarEdit.Calendar.GetEra(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetEra(calendarEdit.Date).ToString()); {% endhighlight %} @@ -201,8 +215,9 @@ Returns the hour, in the specified date time. You can use a Message Box to see t {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetHour(calendarEdit.Date); +this.calendarEdit.Calendar.GetHour(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetHour(calendarEdit.Date).ToString()); {% endhighlight %} @@ -214,8 +229,9 @@ Returns the leap month, in the specified year. You can use a Message Box to see {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetLeapMonth(2009); +this.calendarEdit.Calendar.GetLeapMonth(2009); MessageBox.Show(calendarEdit.Calendar.GetLeapMonth(2009).ToString()); {% endhighlight %} @@ -227,8 +243,9 @@ Returns the milliseconds, in the specified date time. You can use a Message Box {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetMilliSeconds(calendarEdit.Date); +this.calendarEdit.Calendar.GetMilliseconds(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetMilliseconds(calendarEdit.Date).ToString()); {% endhighlight %} @@ -240,8 +257,9 @@ Returns the minute, in the specified datetime. You can use a Message Box to see {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetMinute(calendarEdit.Date); +this.calendarEdit.Calendar.GetMinute(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetMinute(calendarEdit.Date).ToString()); {% endhighlight %} @@ -253,8 +271,9 @@ Returns the month, in the specified datetime. You can use a Message Box to see t {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetMonth(calendarEdit.Date); +this.calendarEdit.Calendar.GetMonth(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetMonth(calendarEdit.Date).ToString()); {% endhighlight %} @@ -266,8 +285,9 @@ Returns the month in the specified year in the current era. You can use a Messag {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetMonthsInYear(2009); +this.calendarEdit.Calendar.GetMonthsInYear(2009); MessageBox.Show(calendarEdit.Calendar.GetMonthsInYear(2009).ToString()); {% endhighlight %} @@ -279,8 +299,9 @@ Returns the seconds, in the specified date time. You can use a Message Box to se {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetSecond(calendarEdit.Date); +this.calendarEdit.Calendar.GetSecond(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetSecond(calendarEdit.Date).ToString()); {% endhighlight %} @@ -292,8 +313,9 @@ Returns the week of the year that includes the date in the specified date time. {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetWeekOfYear(calendarEdit.Date, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Friday); +this.calendarEdit.Calendar.GetWeekOfYear(calendarEdit.Date, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Friday); MessageBox.Show(calendarEdit.Calendar.GetWeekOfYear(calendarEdit.Date, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Friday).ToString()); {% endhighlight %} @@ -305,8 +327,9 @@ Returns the week of the year that includes the date in the specified date time. {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.GetYear(calendarEdit.Date); +this.calendarEdit.Calendar.GetYear(calendarEdit.Date); MessageBox.Show(calendarEdit.Calendar.GetYear(calendarEdit.Date).ToString()); {% endhighlight %} @@ -318,8 +341,9 @@ Determines whether the specified date in the current era is a leap day. You can {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.IsLeapDay(2009, 2, 2); +this.calendarEdit.Calendar.IsLeapDay(2009, 2, 2); MessageBox.Show(calendarEdit.Calendar.IsLeapDay(2009, 2, 2).ToString()); {% endhighlight %} @@ -331,8 +355,9 @@ Determines whether the specified month, in the specified year, in the current er {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.IsLeapMonth(2009, 3); +this.calendarEdit.Calendar.IsLeapMonth(2009, 3); MessageBox.Show(calendarEdit.Calendar.IsLeapMonth(2009, 3).ToString()); {% endhighlight %} @@ -344,8 +369,9 @@ Determines whether the specified year, in the current era, is a leap year. You c {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.IsLeapYear(2009); +this.calendarEdit.Calendar.IsLeapYear(2009); MessageBox.Show(calendarEdit.Calendar.IsLeapYear(2009).ToString()); {% endhighlight %} @@ -357,8 +383,9 @@ Gets the latest date and time, supported by the calendar object. You can use a M {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.MaxSupportedDateTime; +this.calendarEdit.Calendar.MaxSupportedDateTime; MessageBox.Show(calendarEdit.Calendar.MaxSupportedDateTime.ToString()); {% endhighlight %} @@ -370,8 +397,9 @@ Gets the earliest date and time, supported by the calendar object. You can use a {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.MinSupportedDateTime; +this.calendarEdit.Calendar.MinSupportedDateTime; MessageBox.Show(calendarEdit.Calendar.MinSupportedDateTime.ToString()); {% endhighlight %} @@ -383,8 +411,9 @@ Gets or sets the last year of a 100-year range that can be represented as a 2 di {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.TwoDigitYearMax; +this.calendarEdit.Calendar.TwoDigitYearMax; MessageBox.Show(calendarEdit.Calendar.TwoDigitYearMax.ToString()); {% endhighlight %} @@ -396,8 +425,9 @@ Returns the datetime that is set to the specified date and time in the current e {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.ToDateTime(2009, 4, 5, 2, 30, 5, 200); +this.calendarEdit.Calendar.ToDateTime(2009, 4, 5, 2, 30, 5, 200); MessageBox.Show(calendarEdit.Calendar.ToDateTime(2009, 4, 5, 2, 30, 5, 200).ToString()); {% endhighlight %} @@ -409,8 +439,9 @@ Convert specified year to a 4 digit year. You can use a Message Box to see the c {% tabs %} {% highlight c# %} +using Syncfusion.Windows.Shared; -calendarEdit.Calendar.ToFourDigitYear(2009); +this.calendarEdit.Calendar.ToFourDigitYear(2009); MessageBox.Show(calendarEdit.Calendar.ToFourDigitYear(2009).ToString()); {% endhighlight %} From 0963e9857e9e6a675ecd66b25f42a0298902d9f5 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Thu, 9 Jul 2026 13:56:47 +0530 Subject: [PATCH 04/46] Address review correction. --- wpf/Calendar/Getting-Started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wpf/Calendar/Getting-Started.md b/wpf/Calendar/Getting-Started.md index 5a29e3b111..3db7d52265 100644 --- a/wpf/Calendar/Getting-Started.md +++ b/wpf/Calendar/Getting-Started.md @@ -21,7 +21,7 @@ The various elements of `CalendarEdit` are illustrated in the following screensh Refer to the [Control Dependencies](https://help.syncfusion.com/wpf/control-dependencies#calendaredit) section to get the list of assemblies or NuGet package that needs to be added as a reference to use the control in any application. -Refer to this [documentation](https://help.syncfusion.com/wpf/visual-studio-integration/nuget-packages) to find more details about installing nuget packages in a WPF application. +Refer to this [documentation](https://help.syncfusion.com/extension/syncfusion-nuget-packages/nuget-packages) to find more details about installing nuget packages in a WPF application. ## Adding WPF CalendarEdit via designer From 202af8e82a78c0ea5e5d7c31c650ed4fe7e385fa Mon Sep 17 00:00:00 2001 From: Mugesh Date: Thu, 9 Jul 2026 20:02:56 +0530 Subject: [PATCH 05/46] Updated the licensing documentation using AI --- .../licensing-faq/CI-license-validation.md | 55 ++++++++++++------ .../license-validation-method-new.png | Bin 0 -> 36903 bytes 2 files changed, 36 insertions(+), 19 deletions(-) create mode 100644 wpf/Licensing/licensing-faq/licensing-images/license-validation-method-new.png diff --git a/wpf/Licensing/licensing-faq/CI-license-validation.md b/wpf/Licensing/licensing-faq/CI-license-validation.md index 5826dd3686..7edaccf285 100644 --- a/wpf/Licensing/licensing-faq/CI-license-validation.md +++ b/wpf/Licensing/licensing-faq/CI-license-validation.md @@ -19,14 +19,13 @@ margin-top: 1.5em; margin-bottom: 1.5em; # Syncfusion license key validation in CI services -Syncfusion license key validation in CI services ensures that Syncfusion Essential Studio components are properly licensed during CI processes. Validating the license key at the CI level can prevent licensing errors during deployment. Set up the continuous integration process to fail in case the license key validation fails. Validate the passed parameters and the registered license key again to resolve the issue. +Syncfusion license key validation in CI services ensures that Syncfusion Essential Studio components are properly licensed during CI processes. Validating the license key at the CI level can prevent licensing errors during deployment. You can validate the license key using the `LicenseKeyValidator` utility or programmatically using the `ValidateLicense` method. The following section shows how to validate the Syncfusion license key in CI services. * Download and extract the LicenseKeyValidator.zip utility from the following link: [LicenseKeyValidator](https://s3.amazonaws.com/files2.syncfusion.com/Installs/LicenseKeyValidation/LicenseKeyValidator.zip). -* Open the LicenseKeyValidation.ps1 PowerShell script in a text\code editor as shown in the below example. - +* Open the LicenseKeyValidation.ps1 PowerShell script in a text or code editor as shown in the example below. {% tabs %} {% highlight c# tabtitle="PowerShell" %} # Replace the parameters with the desired platform, version, and actual license key. @@ -41,11 +40,11 @@ Write-Host $result * Update the parameters in the LicenseKeyValidation.ps1 script file as described below. - **Platform:** Modify the value for /platform: to the actual platform "WPF". - - **Version:** Change the value for /version: to the required version (e.g., "26.2.4"). - - **License Key:** Replace the value for /licensekey: with your actual license key (e.g., "Your License Key"). + **Platform:** Set the value for /platform: to "WPF". + + **Version:** Set the value for /version: to the required version (for example, "26.2.4"). + + **License Key:** Replace the value for /licensekey: with your actual license key. N> This feature is supported only from the 16.2.0.41 version of the Essential Studio. @@ -81,7 +80,7 @@ steps: ![LicenseKeyValidation script](licensing-images/license-validation-classic.png) -## GitHub actions +## GitHub Actions * To execute the script in PowerShell as part of a GitHub Actions workflow, include a step in the configuration file and update the path of the LicenseKeyValidation.ps1 script file (e.g., D:\LicenseKeyValidator\LicenseKeyValidation.ps1). @@ -123,31 +122,46 @@ pipeline { {% endhighlight %} {% endtabs %} -## Validate the License Key By Using the ValidateLicense() Method +## Validate the License Key by Using the ValidateLicense() Method * Register the license key properly by calling RegisterLicense("License Key") method with the license key. -* Once the license key is registered, it can be validated by using the ValidateLicense("Platform.WPF") method. This ensures that the license key is valid for the platform and version you are using. For reference, please check the following example. +* Once the license key is registered, it can be validated by using the `ValidateLicense(Platform.WPF)` method. This ensures that the license key is valid for the platform and version you are using. For reference, please check the following example. {% tabs %} -{% highlight c# %} +{% highlight c# tabtitle="v34.1.29 and later" %} +using Syncfusion.Licensing; + +// Register the Syncfusion license key +SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY"); + +//Validate the registered license key. +// The array overload allows validating against multiple platforms in a single call. +bool isValid = SyncfusionLicenseProvider.ValidateLicense(new[] { Platform.WPF }); +{% endhighlight %} + +{% highlight c# tabtitle="Before v34.1.29" %} using Syncfusion.Licensing; -//Register Syncfusion license key -Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY"); +// Register the Syncfusion license key +SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY"); -//Validate the registered license key +// Validate the registered license key bool isValid = SyncfusionLicenseProvider.ValidateLicense(Platform.WPF); {% endhighlight %} {% endtabs %} +**v34.1.29 and later:** +![LicenseKeyValidationMethod](licensing-images/license-validation-method-new.png) + +**Before v34.1.29:** ![LicenseKeyValidationMethod](licensing-images/license-validation-method.png) -* If the ValidateLicense() method returns true, registered license key is valid and can proceed with deployment. +* If the ValidateLicense() method returns true, the registered license key is valid and the application can proceed with deployment. -* If the ValidateLicense() method returns false, there will be invalid license errors in deployment due to either an invalid license key or an incorrect assembly or package version that is referenced in the project. Please ensure that all the referenced Syncfusion assemblies or NuGet packages are all on the same version as the license key’s version before deployment. +* If the ValidateLicense() method returns false, invalid license errors will occur during deployment. This is caused by either an invalid license key or an incorrect assembly or package version referenced in the project. Ensure that all referenced Syncfusion assemblies or NuGet packages match the version of the license key before deployment. -## Validate the License Key By Using the Unit Test Project +## Validate the License Key by Using the Unit Test Project * To create a unit test project in Visual Studio, choose **File -> New -> Project** from the menu. This opens a new dialog for creating a new project. Filtering the project type by Test or typing Test as a keyword in the search option can help you to find available unit test projects. Select the appropriate test framework (such as MSTest, NUnit, or xUnit) that best suits your need. @@ -159,12 +173,15 @@ bool isValid = SyncfusionLicenseProvider.ValidateLicense(Platform.WPF); N> * Place the license key between double quotes. Also, ensure that Syncfusion.Licensing.dll is referenced in your project where the license key is being registered. -* Once the license key is registered, it can be validated by using the ValidateLicense("Platform.WPF", out var validationMessage) method. This ensures that the license key is valid for the platform and version you are using. +* Once the license key is registered, it can be validated by using the `ValidateLicense(Platform.WPF, out var validationMessage)` method (available in v34.1.29 and later). This ensures that the license key is valid for the platform and version you are using. * For reference, please check the following example that demonstrates how to register and validate the license key in the unit test project. {% tabs %} {% highlight c# %} +using NUnit.Framework; +using Syncfusion.Licensing; + public void TestSyncfusionWPFLicense() { var platform = Platform.WPF; diff --git a/wpf/Licensing/licensing-faq/licensing-images/license-validation-method-new.png b/wpf/Licensing/licensing-faq/licensing-images/license-validation-method-new.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c13900122f222f1f77919e5e29c78eec175bff GIT binary patch literal 36903 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 VFRv11Xe+dZ8zwO0@@sb^{|$bZa0UPX literal 0 HcmV?d00001 From 54ca6a44406d1e886627a303d9d12bc991f4a03d Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Thu, 9 Jul 2026 22:34:04 +0530 Subject: [PATCH 06/46] Task(1036752): Updated UG revamp work for WPF DateTimeEdit control. --- wpf/DateTimePicker/Appearance.md | 36 ++- wpf/DateTimePicker/DateTime-Editing.md | 303 +++++++++++------- wpf/DateTimePicker/DateTime-formatting.md | 53 +-- wpf/DateTimePicker/Dropdown-Popup.md | 155 +++++---- wpf/DateTimePicker/Getting-Started.md | 194 ++++++----- .../Keyboard-Navigation-support.md | 8 +- wpf/DateTimePicker/Localization.md | 2 +- wpf/DateTimePicker/Overview.md | 2 +- wpf/DateTimePicker/Restricting-date-value.md | 53 +-- wpf/DateTimePicker/UI-Automation.md | 4 +- 10 files changed, 509 insertions(+), 301 deletions(-) diff --git a/wpf/DateTimePicker/Appearance.md b/wpf/DateTimePicker/Appearance.md index c1f0369de1..6c05853a57 100644 --- a/wpf/DateTimePicker/Appearance.md +++ b/wpf/DateTimePicker/Appearance.md @@ -17,12 +17,16 @@ You can change the foreground color for `dateTimeEdit` by setting the `Foregroun {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.Foreground = Brushes.Red; @@ -36,17 +40,21 @@ N> View [Sample](https://github.com/SyncfusionExamples/wpf-datetimepicker-exampl ## Setting the Background -You can change the background color and selection color of `DateTimeEdit` by using the `Background` and `SelectionBrush` property. The default value of `Background` property is `White` and `SelectionBrush` property is `Royal Blue`. +You can change the background color and selection color of `DateTimeEdit` by using the `Background` and `SelectionBrush` property. The default value of `Background` property is `White` and `SelectionBrush` property is `RoyalBlue`. {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.Background = Brushes.Yellow; @@ -61,16 +69,20 @@ N> View [Sample](https://github.com/SyncfusionExamples/wpf-datetimepicker-exampl ## Change focus border color -You can change the focus border color of the `DateTimeEdit` by setting the [FocusedBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html#Syncfusion_Windows_Shared_DateTimeEdit_FocusedBorderBrush) property. The default value of `FocusedBorderBrush` property is `Medium Aquamarine`. +You can change the focus border color of the `DateTimeEdit` by setting the [FocusedBorderBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html#Syncfusion_Windows_Shared_DateTimeEdit_FocusedBorderBrush) property. The default value of `FocusedBorderBrush` property is `MediumAquamarine`. {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.FocusedBorderBrush = Brushes.Red; @@ -88,12 +100,16 @@ You can change the flow direction of the `DateTimeEdit` layout from right to lef {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.FlowDirection = FlowDirection.RightToLeft; diff --git a/wpf/DateTimePicker/DateTime-Editing.md b/wpf/DateTimePicker/DateTime-Editing.md index d107b9dd4d..2650a0e537 100644 --- a/wpf/DateTimePicker/DateTime-Editing.md +++ b/wpf/DateTimePicker/DateTime-Editing.md @@ -17,13 +17,17 @@ Mask editing is the default editing mode. In this mode, you can provide only val {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.Width = 150; @@ -63,7 +67,7 @@ Ex: If the month field is February, then if we type 29 in day field year field w

Property NameDescription
-Day field of DateTimeEdit can not be selected as it cannot be edited. +Day field of DateTimeEdit can not be edited as it will be auto-filled based on month and year fields. -
@@ -101,16 +105,16 @@ The following table explains how the navigation performed between datetime field 3 Right -Navigate to the previous field from the currently selected field. +Navigate to the next field from the currently selected field. -Navigate to the previous field from the currently selected field +Navigate to the next field from the currently selected field 4 Left -Navigate to the next field from the currently selected field. +Navigate to the previous field from the currently selected field. -Navigate to the next field from the currently selected field +Navigate to the previous field from the currently selected field 5 @@ -164,12 +168,16 @@ You can set or change the selected datetime of the `DateTimeEdit` programmatical {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.DateTime = new DateTime(2020, 06, 30); @@ -189,6 +197,8 @@ The following code snippets illustrate the value binding from one `DateTimeEdit` {% tabs %} {% highlight C# %} +using System; +using Syncfusion.Windows.Shared; //ViewModel.cs class ViewModel : NotificationObject { @@ -210,23 +220,26 @@ class ViewModel : NotificationObject { {% tabs %} {% highlight XAML %} - - - - - - - - - + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -237,16 +250,21 @@ N> View [Sample](https://github.com/SyncfusionExamples/wpf-datetimepicker-exampl ## Free form editing -You can change the `DateTime` value like a normal textbox editing by setting the [CanEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeBase.html#Syncfusion_Windows_Shared_DateTimeBase_CanEdit) property value as `true`. Input given by an end-user, will be validated when pressing `Enter` key or if control lost its focus. If the entered value is invalid, it set the previously selected date as `DateTime` value. Otherwise, it will accept the given input. +You can change the `DateTime` value like a normal textbox editing by setting the [CanEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeBase.html#Syncfusion_Windows_Shared_DateTimeBase_CanEdit) property value as `true`. Input given by an end-user will be validated when pressing `Enter` key or if control lost its focus. If the entered value is invalid, it set the previously selected date as `DateTime` value. Otherwise, it will accept the given input. {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + DateTimeEdit dateTimeEdit= new DateTimeEdit(); dateTimeEdit.CanEdit = true; @@ -263,12 +281,16 @@ You can increase or decrease the datetime by select the respective fields and mo {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit= new DateTimeEdit(); dateTimeEdit.EnableMouseWheelEdit = true; @@ -282,17 +304,21 @@ N> View [Sample](https://github.com/SyncfusionExamples/wpf-datetimepicker-exampl ## Change date time using up-down button -You can change the value of the datetime by selecting the respective date, month, year, minutes, hours, or seconds field and pressing the up or down button to increase or decrease the selected field respectively. By default, the updown button are hidden. you can show the UpDown button by setting the [IsVisibleRepeatButton](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeBase.html#Syncfusion_Windows_Shared_DateTimeBase_IsVisibleRepeatButton) property value as `true`. +You can change the value of the datetime by selecting the respective date, month, year, minutes, hours, or seconds field and pressing the up or down button to increase or decrease the selected field respectively. By default, the updown button is hidden. You can show the UpDown button by setting the [IsVisibleRepeatButton](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeBase.html#Syncfusion_Windows_Shared_DateTimeBase_IsVisibleRepeatButton) property value as `true`. {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.IsVisibleRepeatButton= true; @@ -311,13 +337,17 @@ You can disable the updown button by setting the [IsEnabledRepeatButton](https:/ {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.IsEnabledRepeatButton= false; @@ -336,14 +366,18 @@ You can show only the updown button by hiding the dropdown button. You can hide {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.IsVisibleRepeatButton= true; @@ -367,17 +401,21 @@ If you want to change the updown button background, use the [RepeatButtonBackgro {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.RepeatButtonBackground= Brushes.Red; @@ -398,33 +436,36 @@ You can customize the up and down button appearance separately by using the [UpR {% tabs %} {% highlight XAML %} - - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -441,14 +482,18 @@ For example, If you pressing the `j` key, then it will selects `January`. On sub {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.EnableAlphaKeyNavigation = true; @@ -468,13 +513,17 @@ By default, date time field will be selected and you can only override the date {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.EnableBackspaceKey = true; @@ -497,6 +546,8 @@ If you want to select the Date from the own calendar, use the [DateTimeCalender] {% tabs %} {% highlight C# %} +using System; +using Syncfusion.Windows.Shared; //ViewModel.cs class ViewModel : NotificationObject { @@ -518,22 +569,25 @@ class ViewModel : NotificationObject { {% tabs %} {% highlight XAML %} - - - - - - - - - - + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -548,6 +602,8 @@ If you want to select the time from the own clock, use the [Clock](https://help. {% tabs %} {% highlight C# %} +using System; +using Syncfusion.Windows.Shared; //ViewModel.cs class ViewModel : NotificationObject { @@ -569,19 +625,22 @@ class ViewModel : NotificationObject { {% tabs %} {% highlight XAML %} - - + - - - - + + + + + {% endhighlight %} {% endtabs %} @@ -599,16 +658,20 @@ If you want to set or change the null value for the `DateTimeEdit`, use the [Nul {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.ShowMaskOnNullValue= false; @@ -624,18 +687,22 @@ N> View [Sample](https://github.com/SyncfusionExamples/wpf-datetimepicker-exampl ### Show mask on null value -you can show only the mask on null value by setting the `ShowMaskOnNullValue` property value as `true`. +You can show only the mask on null value by setting the `ShowMaskOnNullValue` property value as `true`. {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.ShowMaskOnNullValue= true; @@ -653,15 +720,19 @@ If you want to display any watermark text instead of null value, use the [NoneDa {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.NoneDateText= "Select the date"; @@ -684,12 +755,16 @@ N> If control got focus by directly clicking the date time field, `OnFocusBehavi {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.OnFocusBehavior = OnFocusBehavior.CursorAtEnd; @@ -707,11 +782,15 @@ You can prevent the focus in `DateTimeEdit` automatically moving from one field {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.AutoForwarding = false; @@ -725,12 +804,16 @@ The selected datetime changed in `DateTimeEdit` can be examined using [DateTimeC {% tabs %} {% highlight XAML %} - - + - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.DateTimeChanged += dateTimeEdit_DateTimeChanged; diff --git a/wpf/DateTimePicker/DateTime-formatting.md b/wpf/DateTimePicker/DateTime-formatting.md index 3c95b16e0e..3caa9a92b1 100644 --- a/wpf/DateTimePicker/DateTime-formatting.md +++ b/wpf/DateTimePicker/DateTime-formatting.md @@ -9,7 +9,7 @@ documentation: ug # DateTime formatting in WPF DateTimePicker (DateTimeEdit) -you can specify the selected datetime display format in the [WPF DateTimePicker](https://www.syncfusion.com/wpf-controls/datetimepicker) (DateTimeEdit) by using the predefined patterns and custom patterns. +You can specify the selected datetime display format in the [WPF DateTimePicker](https://www.syncfusion.com/wpf-controls/datetimepicker) (DateTimeEdit) by using the predefined patterns and custom patterns. ## Predefined display patterns @@ -24,8 +24,8 @@ The `DateTimeEdit` control supports the following patterns: * FullDateTime * MonthDay * CustomPattern -* ShortableDateTime -* UniversalShortableDateTime +* SortableDateTime +* UniversalSortableDateTime * RFC1123 * YearMonth @@ -33,13 +33,16 @@ The `DateTimeEdit` control supports the following patterns: {% tabs %} {% highlight XAML %} - - + - + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.Pattern = DateTimePattern.FullDateTime; @@ -57,6 +60,7 @@ The `DateTimeEdit` notifies that the pattern is changed through the [PatternChan {% tabs %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.PatternChanged += DateTimeEdit_PatternChanged; @@ -72,19 +76,23 @@ private void DateTimeEdit_PatternChanged(DependencyObject d, DependencyPropertyC ## Change datetime format -you can change the date time format by using the [DateTimeFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeBase.html#Syncfusion_Windows_Shared_DateTimeBase_DateTimeFormat) property. The default value of `` property is ``. +You can change the date time format by using the [DateTimeFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeBase.html#Syncfusion_Windows_Shared_DateTimeBase_DateTimeFormat) property. The default value of `` property is ``. {% tabs %} {% highlight XAML %} - - - - - - + + + + + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.DateTimeFormat = new DateTimeFormatInfo() @@ -105,14 +113,17 @@ You can also set the custom pattern for displaying the datetime in the `DateTime {% tabs %} {% highlight XAML %} - - + - + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.CustomPattern = "MM**dd**yy"; @@ -131,6 +142,7 @@ The `DateTimeEdit` notifies that the custom pattern is changed through the [Cust {% tabs %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.CustomPatternChanged += dateTimeEdit_CustomPatternChanged; @@ -154,14 +166,17 @@ By default, the `DateTimeEdit` supports system’s current culture. You can chan {% tabs %} {% highlight XAML %} - - + - + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.CultureInfo = new CultureInfo("fr-FR"); diff --git a/wpf/DateTimePicker/Dropdown-Popup.md b/wpf/DateTimePicker/Dropdown-Popup.md index 2ae3859c7b..6f0e5fd2ea 100644 --- a/wpf/DateTimePicker/Dropdown-Popup.md +++ b/wpf/DateTimePicker/Dropdown-Popup.md @@ -32,13 +32,17 @@ You can use the [DropDownView](https://help.syncfusion.com/cr/wpf/Syncfusion.Win {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.DropDownView = DropDownViews.Combined; @@ -64,13 +68,17 @@ The TimeStepInterval property allows you to define a custom increment or decreme {% tabs %} {% highlight XAML %} - - + + TimeStepInterval="3"/> + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.DropDownView = DropDownViews.Clock; @@ -85,18 +93,21 @@ You can customize the dropdown button appearance by using the [DropDownButtonTem {% tabs %} {% highlight XAML %} - - + - - - - - - - - + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -117,13 +128,17 @@ You can select the today date and time by setting the [TodayButtonAction](https: {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.TodayButtonAction = TodayButtonAction.DateTime; @@ -142,12 +157,16 @@ You can easily reset the selected datetime value with null value by clicking the {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.IsEmptyDateEnabled = true; @@ -165,29 +184,33 @@ You can change the popup calendar month names by adding the respective new names {% tabs %} {% highlight XAML %} - - - - - [1]Jan - [2]Feb - [3]Mar - [4]Apr - [5]May - [6]Jun - [7]Jul - [8]Aug - [9]Sep - [10]Oct - [11]Nov - [12]Dec - - - + + + + + [1]Jan + [2]Feb + [3]Mar + [4]Apr + [5]May + [6]Jun + [7]Jul + [8]Aug + [9]Sep + [10]Oct + [11]Nov + [12]Dec + + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.AbbreviatedMonthNames = new string[] @@ -215,28 +238,32 @@ N> View [Sample](https://github.com/SyncfusionExamples/wpf-datetimepicker-exampl ## Change weekday names -You can change the popup calendar week day names by adding the respective new names to the [AbbreviatedMonthNames](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html#Syncfusion_Windows_Shared_DateTimeEdit_AbbreviatedMonthNames) property. The default value of `AbbreviatedMonthNames` property is `null`. +You can change the popup calendar week day names by adding the respective new names to the [ShortestDayNames](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html#Syncfusion_Windows_Shared_DateTimeEdit_ShortestDayNames) property. The default value of `ShortestDayNames` property is `null`. {% tabs %} {% highlight XAML %} - - - - - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday - - - + + + + + Sunday + Monday + Tuesday + Wednesday + Thursday + Friday + Saturday + + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.ShortestDayNames= new string[] @@ -263,12 +290,16 @@ You can open the dropdown popup with some delay after clicking the dropdown butt {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.PopupDelay = new TimeSpan(0, 0, 2); @@ -284,12 +315,16 @@ You can restrict the user to select the datetime from the dropdown popup calenda {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.IsButtonPopUpEnabled = false; diff --git a/wpf/DateTimePicker/Getting-Started.md b/wpf/DateTimePicker/Getting-Started.md index aad5434884..8d127f5308 100644 --- a/wpf/DateTimePicker/Getting-Started.md +++ b/wpf/DateTimePicker/Getting-Started.md @@ -2,7 +2,7 @@ layout: post title: Getting Started with WPF DateTimePicker control | Syncfusion description: Learn here about getting started with Syncfusion WPF DateTimePicker (DateTimeEdit) control, its elements and more. -platform: WPF +platform: wpf control: DateTimeEdit documentation: ug --- @@ -23,7 +23,7 @@ You can find more details about installing the NuGet package in a WPF applicatio ## Creating an application with the DateTimeEdit control -In this walkthrough, you will create a WPF application that contains the [DateTimEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html) control. +In this walkthrough, you will create a WPF application that contains the [DateTimeEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html) control. ## Creating a project @@ -90,6 +90,7 @@ To add the control manually in C#, follow the given steps: {% tabs %} {% highlight C# %} +using Syncfusion.Windows.Shared; // Creating an instance of the DateTimeEdit DateTimeEdit dateTimeEdit = new DateTimeEdit(); @@ -115,19 +116,22 @@ You can set the date using the [DateTime](https://help.syncfusion.com/cr/wpf/Syn {% tabs %} {% highlight XAML %} - - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Setting date -dateTimeEdit.DateTime = new DateTime(2010, 07, 05); +this.dateTimeEdit.DateTime = new DateTime(2010, 07, 05); {% endhighlight %} {% endtabs %} @@ -144,6 +148,8 @@ The following code snippets illustrate the value binding from one `DateTimeEdit` {% tabs %} {% highlight C# %} +using System; +using Syncfusion.Windows.Shared; //ViewModel.cs class ViewModel : NotificationObject { @@ -165,23 +171,26 @@ class ViewModel : NotificationObject { {% tabs %} {% highlight XAML %} - - - - - - - - - + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -196,12 +205,16 @@ The [DateTime](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.Date {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.DateTimeChanged += dateTimeEdit_DateTimeChanged; @@ -241,14 +254,17 @@ You can change the date-time pattern using the [Pattern](https://help.syncfusion {% tabs %} {% highlight XAML %} - - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; //Setting predefined ShortDate pattern dateTimeEdit.Pattern = DateTimePattern.ShortDate; @@ -266,15 +282,18 @@ You can display the date and time in any format in the DateTimeEdit control by u {% tabs %} {% highlight XAML %} - - + - + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.CustomPattern = "MM**dd**yy hh:mm:ss"; @@ -295,13 +314,17 @@ The [DateTimeEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared. {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.CanEdit = true; @@ -319,15 +342,17 @@ You can restrict the users from selecting a date and time in a particular range {% tabs %} {% highlight xaml %} - - - + - + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.MinDateTime = new DateTime(2020, 06, 01); @@ -346,15 +371,19 @@ If you want to display the watermark text instead of null value, use the [NoneDa {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.NoneDateText= "Select the date"; @@ -375,29 +404,33 @@ You can change the popup calendar month names in the `DateTimeEdit` control by a {% tabs %} {% highlight XAML %} - - - - - [1]Jan - [2]Feb - [3]Mar - [4]Apr - [5]May - [6]Jun - [7]Jul - [8]Aug - [9]Sep - [10]Oct - [11]Nov - [12]Dec - - - + + + + + [1]Jan + [2]Feb + [3]Mar + [4]Apr + [5]May + [6]Jun + [7]Jul + [8]Aug + [9]Sep + [10]Oct + [11]Nov + [12]Dec + + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.AbbreviatedMonthNames = new string[] @@ -429,24 +462,28 @@ You can change the popup calendar week day names in DateTimeEdit control by addi {% tabs %} {% highlight XAML %} - - - - - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday - - - + + + + + Sunday + Monday + Tuesday + Wednesday + Thursday + Friday + Saturday + + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.ShortestDayNames= new string[] @@ -475,11 +512,16 @@ N> If you try to set the `DateTime` value which contained in blackout dates coll {% tabs %} {% highlight xaml %} - - + + + {% endhighlight %} {% highlight xaml %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.Loaded += DateTimeEdit_Loaded; diff --git a/wpf/DateTimePicker/Keyboard-Navigation-support.md b/wpf/DateTimePicker/Keyboard-Navigation-support.md index 6bc84ccd4f..758c3c70d6 100644 --- a/wpf/DateTimePicker/Keyboard-Navigation-support.md +++ b/wpf/DateTimePicker/Keyboard-Navigation-support.md @@ -43,16 +43,16 @@ The following table explains how the navigation performed between datetime field 3 Right -Navigate to the previous field from the currently selected field. +Navigate to the next field from the currently selected field. -Navigate to the previous field from the currently selected field +Navigate to the next field from the currently selected field 4 Left -Navigate to the next field from the currently selected field. +Navigate to the previous field from the currently selected field. -Navigate to the next field from the currently selected field +Navigate to the previous field from the currently selected field 5 diff --git a/wpf/DateTimePicker/Localization.md b/wpf/DateTimePicker/Localization.md index dc10df58ec..28e84b7574 100644 --- a/wpf/DateTimePicker/Localization.md +++ b/wpf/DateTimePicker/Localization.md @@ -9,7 +9,7 @@ documentation: ug # Localization in WPF DateTimePicker (DateTimeEdit) -Localization is the process of translating the application resources into different language for the specific cultures. You can localize the [DateTimeEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html) by [adding resource file](https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/aa992030(v=vs.100)). Application culture can be changed by setting [CurrentUICulture](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.currentuiculture?view=netframework-4.7.2) after `InitializeComponent` method. +Localization is the process of translating the application resources into different languages for the specific cultures. You can localize the [DateTimeEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html) by [adding resource file](https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/aa992030(v=vs.100)). Application culture can be changed by setting [CurrentUICulture](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.currentuiculture?view=netframework-4.7.2) after `InitializeComponent` method. Below application culture changed to French. diff --git a/wpf/DateTimePicker/Overview.md b/wpf/DateTimePicker/Overview.md index d4d99036ad..e057092f8e 100644 --- a/wpf/DateTimePicker/Overview.md +++ b/wpf/DateTimePicker/Overview.md @@ -15,7 +15,7 @@ The [DateTimeEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared. ## Key features -* **Editing mode** - Supports the default text editing and mask mode that helps to restrict the date input in formatted values based on pre-defined or custom date-time pattern. +* **Editing mode** - Supports the default text editing and mask mode that helps to restrict the date input to formatted values based on a pre-defined or custom date-time pattern. * **Date-range support** - Supports the maximum and minimum dates in order to prevent users from setting a date or time within a given range. diff --git a/wpf/DateTimePicker/Restricting-date-value.md b/wpf/DateTimePicker/Restricting-date-value.md index 43ec122305..5e37691873 100644 --- a/wpf/DateTimePicker/Restricting-date-value.md +++ b/wpf/DateTimePicker/Restricting-date-value.md @@ -13,21 +13,23 @@ This section explains how to select a date and time in a particular range by spe ## Restrict the datetime within minimum and maximum datetime -The selecting datetime in `DateTimeEdit` can be restricted within the maximum and minimum time span limits. Once the selected time has reached the minimum or maximum time span limits , the selected time does not exceed the limit. You can change the minimum and maximum time span limits by using [MinDateTime](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html#Syncfusion_Windows_Shared_DateTimeEdit_MinDateTime) and [MaxDateTime](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html#Syncfusion_Windows_Shared_DateTimeEdit_MaxDateTime) properties +The selecting datetime in `DateTimeEdit` can be restricted within the maximum and minimum time span limits. Once the selected time has reached the minimum or maximum time span limits, the selected time does not exceed the limit. You can change the minimum and maximum time span limits by using [MinDateTime](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html#Syncfusion_Windows_Shared_DateTimeEdit_MinDateTime) and [MaxDateTime](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html#Syncfusion_Windows_Shared_DateTimeEdit_MaxDateTime) properties N> The `MaxDateTime` should be greater than `MinDateTime` of the `DateTimeEdit`. If the `MinDateTime` property is greater than the new `MaxDateTime`, then the `MinDateTime` will be reset to the `MaxDateTime`. {% tabs %} {% highlight xaml %} - - - + - + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.MinDateTime = new DateTime(2020, 06, 01); @@ -45,15 +47,18 @@ N> View [Sample](https://github.com/SyncfusionExamples/wpf-datetimepicker-exampl The `DateTimeEdit` notifies that the minimum and maximum value is changed through the [MinDateTimeChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html) and [MaxDateTimeChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html) event. You can use the `OldValue` and `NewValue` properties to get the old and new minimum / maximum date time value. {% tabs %} -{% highlight C# %} - - + - + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.MinDateTimeChanged += DateTimeEdit_MinDateTimeChanged; @@ -88,15 +93,18 @@ You can restrict the user to select the date from the popup calendar by setting {% tabs %} {% highlight xaml %} - - + - + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.DisableDateSelection = true; @@ -112,17 +120,22 @@ N> View [Sample](https://github.com/SyncfusionExamples/wpf-datetimepicker-exampl ## Block particular dates -You can restrict the user to select the date within some range by blocking the particular date in the `DateTimeEdit`. If you try to set the blackout dates as the selected datetime through editing or when pressing down arrow, it will reset the previous valid date from `StartDate` of blackout dates in `DateTimeEdit`. If you try to set the blackout dates as the selected datetime by pressing down arrow, it will reset the next valid date from `EndDate` of blackout dates in `DateTimeEdit`. +You can restrict the user to select the date within some range by blocking the particular date in the `DateTimeEdit`. If you try to set the blackout dates as the selected datetime through editing or when pressing up arrow, it will reset the previous valid date from `StartDate` of blackout dates in `DateTimeEdit`. If you try to set the blackout dates as the selected datetime by pressing down arrow, it will reset the next valid date from `EndDate` of blackout dates in `DateTimeEdit`. N> If you try to set the `DateTime` value which contained in blackout dates collection or try to add the selected `DateTime` value in blackout dates collection, its throws the `Specified argument was out of the range of valid values`. {% tabs %} {% highlight xaml %} - - + + + {% endhighlight %} -{% highlight xaml %} +{% highlight c# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.Loaded += DateTimeEdit_Loaded; @@ -160,13 +173,17 @@ If you want to restrict the inputs from the user, use the `IsReadOnly` property {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; DateTimeEdit dateTimeEdit = new DateTimeEdit(); dateTimeEdit.IsReadOnly = true; diff --git a/wpf/DateTimePicker/UI-Automation.md b/wpf/DateTimePicker/UI-Automation.md index 87e9528b01..ba73f39f82 100644 --- a/wpf/DateTimePicker/UI-Automation.md +++ b/wpf/DateTimePicker/UI-Automation.md @@ -18,7 +18,7 @@ Microsoft UI Automation is the new accessibility Framework for Microsoft Windows ## Quick Test Professional (QTP) -The QTP tool can recognize the `DateTimeEdit` control. Hence with the `DateTimeEdit` control, it is possible to record interactions such as opening the calendar popup, closing the calendar popup, choosing the date from the calendar , setting the DateTime value and and so on, for testing using QTP. +The QTP tool can recognize the `DateTimeEdit` control. Hence with the `DateTimeEdit` control, it is possible to record interactions such as opening the calendar popup, closing the calendar popup, choosing the date from the calendar, setting the DateTime value and so on, for testing using QTP. ### Mapping the control to the custom server @@ -26,7 +26,7 @@ QTP Tool interacts with the control through CustomServerBase extension through t {% tabs %} -{% highlight xaml %} +{% highlight xml %} From 409d30ffabd7e4dd9aafdb21d539dddc2a249d20 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Fri, 10 Jul 2026 11:04:35 +0530 Subject: [PATCH 07/46] Addressed CI issue. --- wpf/DateTimePicker/Getting-Started.md | 2 +- wpf/DateTimePicker/Keyboard-Navigation-support.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/wpf/DateTimePicker/Getting-Started.md b/wpf/DateTimePicker/Getting-Started.md index 8d127f5308..e63d7fb9d6 100644 --- a/wpf/DateTimePicker/Getting-Started.md +++ b/wpf/DateTimePicker/Getting-Started.md @@ -19,7 +19,7 @@ This section provides a quick overview of working with the WPF [DateTimeEdit](ht Refer to the [Control Dependencies](https://help.syncfusion.com/wpf/control-dependencies#datetimeedit) section to get the list of assemblies or NuGet package that needs to be added as a reference to use the [DateTimeEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.DateTimeEdit.html) control in any application. -You can find more details about installing the NuGet package in a WPF application in the following link: [How to install nuget packages](https://help.syncfusion.com/wpf/visual-studio-integration/nuget-packages) +You can find more details about installing the NuGet package in a WPF application in the following link: [How to install nuget packages](https://help.syncfusion.com/extension/syncfusion-nuget-packages/nuget-packages) ## Creating an application with the DateTimeEdit control diff --git a/wpf/DateTimePicker/Keyboard-Navigation-support.md b/wpf/DateTimePicker/Keyboard-Navigation-support.md index 758c3c70d6..6bc84ccd4f 100644 --- a/wpf/DateTimePicker/Keyboard-Navigation-support.md +++ b/wpf/DateTimePicker/Keyboard-Navigation-support.md @@ -43,16 +43,16 @@ The following table explains how the navigation performed between datetime field 3 Right -Navigate to the next field from the currently selected field. +Navigate to the previous field from the currently selected field. -Navigate to the next field from the currently selected field +Navigate to the previous field from the currently selected field 4 Left -Navigate to the previous field from the currently selected field. +Navigate to the next field from the currently selected field. -Navigate to the previous field from the currently selected field +Navigate to the next field from the currently selected field 5 From 74040b26b502f591c05d4ebf911f2fc369f5045c Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Fri, 10 Jul 2026 12:24:41 +0530 Subject: [PATCH 08/46] Task(1036752): Updated UG revamp work for WPF TimeSpanEdit control. --- wpf/TimeSpan-Editor/Appearance.md | 27 +++- wpf/TimeSpan-Editor/Getting-Started.md | 50 ++++++-- .../Working-with-TimeSpanEdit.md | 120 ++++++++++++++---- 3 files changed, 154 insertions(+), 43 deletions(-) diff --git a/wpf/TimeSpan-Editor/Appearance.md b/wpf/TimeSpan-Editor/Appearance.md index 520684ba61..f05f096665 100644 --- a/wpf/TimeSpan-Editor/Appearance.md +++ b/wpf/TimeSpan-Editor/Appearance.md @@ -2,7 +2,7 @@ layout: post title: Appearance in WPF TimeSpan Editor control | Syncfusion® description: Learn here all about Appearance support in Syncfusion® WPF TimeSpan Editor (TimeSpanEdit) control and more. -platform: WPF +platform: wpf control: TimeSpanEdit documentation: ug --- @@ -13,19 +13,25 @@ This section explains different UI customization and theming options available i ## Setting the background -You can change the background color and selection color of `TimeSpanEdit` by using the `Background` and `SelectionBrush` property. The default value of `Background` property is `White` and `SelectionBrush` property is `Royal Blue`. +You can change the background color and selection color of `TimeSpanEdit` by using the `Background` and `SelectionBrush` property. The default value of `Background` property is `White` and `SelectionBrush` property is `RoyalBlue`. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.Background = Brushes.Yellow; timeSpanEdit.SelectionBrush = Brushes.Red; @@ -45,13 +51,19 @@ You can change the foreground color by using the `Foreground` property. The defa {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.Foreground = Brushes.Red; timeSpanEdit.Value = new TimeSpan(35, 12, 45, 52); @@ -70,12 +82,17 @@ You can change the flow direction of the `TimeSpanEdit` layout from right to lef {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.FlowDirection = FlowDirection.RightToLeft; diff --git a/wpf/TimeSpan-Editor/Getting-Started.md b/wpf/TimeSpan-Editor/Getting-Started.md index ed06a32590..edf0de44e4 100644 --- a/wpf/TimeSpan-Editor/Getting-Started.md +++ b/wpf/TimeSpan-Editor/Getting-Started.md @@ -2,7 +2,7 @@ layout: post title: Getting Started with WPF TimeSpan Editor control | Syncfusion® description: Learn here about getting started with Syncfusion® WPF TimeSpan Editor (TimeSpanEdit) control, its elements and more. -platform: WPF +platform: wpf control: TimeSpanEdit documentation: ug --- @@ -36,7 +36,7 @@ You can add the `WPF TimeSpan Editor` (TimeSpanEdit) control to an application b To add the `TimeSpanEdit` control manually in XAML, follow these steps: 1. Create a new WPF project in Visual Studio. -2. Add the following assembly references to the project, +2. Add the following assembly references to the project, * Syncfusion.Shared.WPF 3. Import Syncfusion® WPF schema **http://schemas.syncfusion.com/wpf** and declare the `TimeSpanEdit` control in XAML page. @@ -70,7 +70,7 @@ To add the `TimeSpanEdit` control manually in C#, follow these steps: 1. Create a new WPF application via Visual Studio. -2. Add the following assembly references to the project, +2. Add the following assembly references to the project, * Syncfusion.Shared.WPF 3. Include the required namespace and create an instance of `TimeSpanEdit` and add it to the window. @@ -81,14 +81,14 @@ To add the `TimeSpanEdit` control manually in C#, follow these steps: {% tabs %} {% highlight C# %} -using Syncfusion.Windows.Tools.Controls; +using Syncfusion.Windows.Shared; public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); //Creating an instance of TimeSpanEdit control - TimeSpanEdit timeSpanEdit = new timeSpanEdit(); + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.Width = 100; timeSpanEdit.Height = 25; @@ -111,12 +111,18 @@ You can set or change the selected time of the `TimeSpanEdit` programmatically b {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.Value = new TimeSpan(10, 11, 32, 43); @@ -129,7 +135,7 @@ N> View [Sample](https://github.com/SyncfusionExamples/syncfusion-wpf-timespaned ## Change display format of time span -You can format the each fields to show what the numerals denotes i.e. hours, minutes or days by using the [Format](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_Format) property. The default value of `Format` is `d.h:m:s`. You can show only the days, hours or minutes values by using any one the following respective fields to the `Format` property. +You can format each field to show what the numerals denote, i.e. days, hours, or minutes by using the [Format](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_Format) property. The default value of `Format` is `d.h:m:s`. You can show only the days, hours or minutes values by using any one of the following respective fields to the `Format` property. * d - It displays the days value. * h - It displays the hours value. @@ -139,13 +145,19 @@ You can format the each fields to show what the numerals denotes i.e. hours, min {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.Format = "d 'days' h 'hours' m 'minutes' s 'sec'"; timeSpanEdit.Value = new TimeSpan(25, 08, 33, 10); @@ -164,12 +176,18 @@ The selected time span changed in `TimeSpanEdit` can be examined using [ValueCha {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.ValueChanged += TimeSpanEdit_ValueChanged; @@ -192,19 +210,25 @@ private void TimeSpanEdit_ValueChanged(DependencyObject d, DependencyPropertyCha ## Restrict the time within minimum and maximum time span -The selecting time in `TimeSpanEdit` can be restricted within the maximum and minimum time span limits. Once the selected time has reached the minimum or maximum time span limits , the selected time does not exceed the limit. You can change the minimum and maximum time span limits by using the [MinValue](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_MinValue) and [MaxValue](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_MaxValue) properties. +The selecting time in `TimeSpanEdit` can be restricted within the maximum and minimum time span limits. Once the selected time has reached the minimum or maximum time span limits, the selected time does not exceed the limit. You can change the minimum and maximum time span limits by using the [MinValue](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_MinValue) and [MaxValue](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_MaxValue) properties. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.MinValue = new TimeSpan(2, 0, 0, 0); timeSpanEdit.MaxValue = new TimeSpan(10, 0, 0, 0); @@ -219,9 +243,9 @@ N> View [Sample](https://github.com/SyncfusionExamples/syncfusion-wpf-timespaned ## Localization support -Localization is the process of translating the application resources into different language for the specific cultures. You can localize the `TimeSpanEdit` control by adding resource file for each language. +Localization is the process of translating the application resources into different languages for the specific cultures. You can localize the `TimeSpanEdit` control by adding resource file for each language. -Refer the following links to know more about how provide a localization support for the `TimeSpanEdit`, +Refer the following links to know more about how to provide localization support for the `TimeSpanEdit`, * [https://help.syncfusion.com/wpf/localization](https://help.syncfusion.com/wpf/localization) * [https://github.com/syncfusion/wpf-controls-localization-resx-files](https://github.com/syncfusion/wpf-controls-localization-resx-files) diff --git a/wpf/TimeSpan-Editor/Working-with-TimeSpanEdit.md b/wpf/TimeSpan-Editor/Working-with-TimeSpanEdit.md index 8930bc5724..a95b489c4d 100644 --- a/wpf/TimeSpan-Editor/Working-with-TimeSpanEdit.md +++ b/wpf/TimeSpan-Editor/Working-with-TimeSpanEdit.md @@ -2,7 +2,7 @@ layout: post title: Working with TimeSpanEdit in WPF TimeSpan Editor control | Syncfusion® description: Learn here all about Working with TimeSpanEdit support in Syncfusion® WPF TimeSpan Editor (TimeSpanEdit) control and more. -platform: WPF +platform: wpf control: TimeSpanEdit documentation: ug --- @@ -13,30 +13,36 @@ This section explains how to change the time value and time formats in the WPF [ ![TimeSpanEdit control time fields](Getting-Started_images/Control_Structure.png) -## Date, hour and minute field navigation +## Day, hour and minute field navigation -By default, the focus field will be navigated automatically after the value has been validated to the corresponding field.If you want to manually change the day, hour or minute values, before that you navigate to the respective field by using the mouse or move the `Left-Right` keys in the keyboard. +By default, the focus field will be navigated automatically after the value has been validated to the corresponding field. If you want to manually change the day, hour or minute values, before that you navigate to the respective field by using the mouse or move the `Left-Right` keys in the keyboard. -![Date, hour and minute field navigation in TimeSpanEdit](Deals-with-TimeSpanEdit_images/Time_field.gif) +![Day, hour and minute field navigation in TimeSpanEdit](Deals-with-TimeSpanEdit_images/Time_field.gif) ## Increase or decrease the time fields with specific interval -If you want to increase or decrease the time span field values with specific interval, use the [StepInterval](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_StepInterval) property. Selected time span field will be increased or decreased based on `StepInterval` field value by pressing the `Up-Down` arrow keys, UpDown button in `TimeSpanEdit` or using mouse wheel. The default value of `StepInterval` property is `{1.01:01:01}`. +If you want to increase or decrease the time span field values with specific interval, use the [StepInterval](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_StepInterval) property. Selected time span field will be increased or decreased based on `StepInterval` field value by pressing the `Up-Down` arrow keys, UpDown button in `TimeSpanEdit` or using mouse wheel. The default value of `StepInterval` property is `{1.01:01:01}`. -For example, if value is `1.1:1:10`, seconds will increase or decrease in `10` seconds interval. other fields will increase or decrease `1` minute, hour, day interval. +For example, if value is `1.1:1:10`, seconds will increase or decrease in `10` seconds interval. Other fields will increase or decrease by `1` minute, hour, or day interval. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); -timeSpanEdit.StepInterval = new TimeSpan(2, 0, 1, 10); +timeSpanEdit.StepInterval = new TimeSpan(1, 1, 1, 10); timeSpanEdit.Value = new TimeSpan(25, 08, 33, 10); {% endhighlight %} @@ -48,7 +54,7 @@ N> View [Sample](https://github.com/SyncfusionExamples/syncfusion-wpf-timespaned ## Change the time value - You can change the time value of `TimeSpanEdit` by programmatically and using mouse or key interactions. +You can change the time value of `TimeSpanEdit` by programmatically and using mouse or key interactions. ### Change time programmatically @@ -57,12 +63,18 @@ You can set or change the selected time of the `TimeSpanEdit` programmatically b {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.Value = new TimeSpan(10, 11, 32, 43); @@ -75,18 +87,24 @@ N> View [Sample](https://github.com/SyncfusionExamples/syncfusion-wpf-timespaned ### Change time using updown buttons -You can increase or decrease the selected time span field value based on the `StepInterval` value by pressing the Up or Down arrow buttons in the `TimeSpanEdit`. If you want to restrict the user to change time by clicking the UpDown buttons, use the [ShowArrowButtons](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_ShowArrowButtons) property value as `false`. It will hides the Arrow buttons. The default value of `ShowArrowButtons` property is `true`. +You can increase or decrease the selected time span field value based on the `StepInterval` value by pressing the Up or Down arrow buttons in the `TimeSpanEdit`. If you want to restrict the user from changing time by clicking the UpDown buttons, use the [ShowArrowButtons](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_ShowArrowButtons) property value as `false`. It will hide the Arrow buttons. The default value of `ShowArrowButtons` property is `true`. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.ShowArrowButtons = true; timeSpanEdit.Value = new TimeSpan(25, 09, 32, 43); @@ -100,18 +118,24 @@ N> View [Sample](https://github.com/SyncfusionExamples/syncfusion-wpf-timespaned ### Change time on mouse wheel -You can increase or decrease the selected time span field value based on the `StepInterval` value by mouse scrolling over the `TimeSpanEdit`. If you want to restrict the user to change time by using mouse scrolling, use the [IncrementOnScrolling](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_IncrementOnScrolling) property value as `false`. The default value of `IncrementOnScrolling` property is `true`. +You can increase or decrease the selected time span field value based on the `StepInterval` value by mouse scrolling over the `TimeSpanEdit`. If you want to restrict the user from changing time by using mouse scrolling, use the [IncrementOnScrolling](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_IncrementOnScrolling) property value as `false`. The default value of `IncrementOnScrolling` property is `true`. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.IncrementOnScrolling = true; timeSpanEdit.Value = new TimeSpan(25, 08, 32, 43); @@ -125,18 +149,24 @@ N> View [Sample](https://github.com/SyncfusionExamples/syncfusion-wpf-timespaned ### Change time on click and drag -You can increase or decrease the selected time span field value based on the `StepInterval` value by clicking and dragging the mouse on up or down, use the [EnableExtendedScrolling](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_EnableExtendedScrolling) property value as `true`. This is effective only on when control is in unfocused state. The default value of `EnableExtendedScrolling` property is `false`. +You can increase or decrease the selected time span field value based on the `StepInterval` value by clicking and dragging the mouse on up or down, use the [EnableExtendedScrolling](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_EnableExtendedScrolling) property value as `true`. This is effective only when the control is in unfocused state. The default value of `EnableExtendedScrolling` property is `false`. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.EnableExtendedScrolling = true; timeSpanEdit.Value = new TimeSpan(25, 08, 33, 10); @@ -161,13 +191,19 @@ If you want to set null value for the `TimeSpanEdit`, use the [AllowNull](https: {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.AllowNull = true; timeSpanEdit.Value = null; @@ -186,13 +222,18 @@ If you want to display any watermark text instead of null value, use the [NullSt {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.NullString = "Edit here..."; @@ -208,7 +249,7 @@ N> View [Sample](https://github.com/SyncfusionExamples/syncfusion-wpf-timespaned ## Change display format of time span -You can format the each fields to show what the numerals denotes i.e. hours, minutes or days by using the [Format](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_Format) property. The default value of `Format` is `d.h:m:s`. You can show only the days, hours or minutes values by using any one the following respective fields to the `Format` property. +You can format each field to show what the numerals denote, i.e. days, hours, or minutes by using the [Format](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_Format) property. The default value of `Format` is `d.h:m:s`. You can show only the days, hours or minutes values by using any one of the following respective fields to the `Format` property. * d - It displays the days value. * h - It displays the hours value. @@ -218,12 +259,17 @@ You can format the each fields to show what the numerals denotes i.e. hours, min {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.Format = "d 'days' h 'hours' m 'minutes' s 'sec'"; @@ -245,13 +291,19 @@ If you want to show the milliseconds in the time span, use the character `z` in {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.Format = @" d 'days' h 'hours' m 'minutes' s 'sec' z 'msec'"; timeSpanEdit.Value = new TimeSpan(25, 08, 33, 10, 6); @@ -270,12 +322,18 @@ The selected time span changed in `TimeSpanEdit` can be examined using [ValueCha {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.ValueChanged += TimeSpanEdit_ValueChanged; @@ -303,12 +361,18 @@ If you want to restrict the inputs from the user, use the `IsReadOnly` property {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.IsReadOnly = true; @@ -321,19 +385,25 @@ N> View [Sample](https://github.com/SyncfusionExamples/syncfusion-wpf-timespaned ## Restrict the time within minimum and maximum time span -The selecting time in `TimeSpanEdit` can be restricted within the maximum and minimum time span limits. Once the selected time has reached the minimum or maximum time span limits , the selected time does not exceed the limit. You can change the minimum and maximum time span limits by using the [MinValue](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_MinValue) property and [MaxValue](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_MaxValue) properties. +The selecting time in `TimeSpanEdit` can be restricted within the maximum and minimum time span limits. Once the selected time has reached the minimum or maximum time span limits, the selected time does not exceed the limit. You can change the minimum and maximum time span limits by using the [MinValue](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_MinValue) and [MaxValue](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Shared.TimeSpanEdit.html#Syncfusion_Windows_Shared_TimeSpanEdit_MaxValue) properties. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + TimeSpanEdit timeSpanEdit = new TimeSpanEdit(); timeSpanEdit.MinValue = new TimeSpan(2, 0, 0, 0); timeSpanEdit.MaxValue = new TimeSpan(10, 0, 0, 0); From f94a299af28241a4877cdaa7bf33819e98120162 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Fri, 10 Jul 2026 16:02:57 +0530 Subject: [PATCH 09/46] Task(1036752): Updated UG revamp work for WPF DatePicker control. --- wpf/DatePicker/Appearance-and-Styling.md | 54 ++++--- wpf/DatePicker/Customizing-DropDown.md | 24 ++- wpf/DatePicker/Formatting.md | 25 ++- wpf/DatePicker/Getting-Started.md | 58 +++++-- wpf/DatePicker/Overview.md | 4 +- wpf/DatePicker/Setting-Value.md | 93 ++++++++--- wpf/DatePicker/SfDateSelector.md | 188 +++++++++++++---------- 7 files changed, 293 insertions(+), 153 deletions(-) diff --git a/wpf/DatePicker/Appearance-and-Styling.md b/wpf/DatePicker/Appearance-and-Styling.md index 00b513ce18..f86e01f15d 100644 --- a/wpf/DatePicker/Appearance-and-Styling.md +++ b/wpf/DatePicker/Appearance-and-Styling.md @@ -2,7 +2,7 @@ layout: post title: Appearance in WPF DatePicker control | Syncfusion® description: Learn here all about Appearance support in Syncfusion® WPF DatePicker (SfDatePicker) control and more. -platform: WPF +platform: wpf control: SfDatePicker documentation: ug --- @@ -13,20 +13,24 @@ This section explains different UI customization, styling, theming options avail ## Setting the Foreground -We can change a foreground of the `SfDatePicker` by using the `Foreground` property and also we can change the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) items and selected date item foreground by using the `Foreground` and [SfDateSelector.SelectedForeground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html#Syncfusion_Windows_Controls_Input_SfDateSelector_SelectedForeground) properties of `SfDateSelector`. +We can change the foreground of the `SfDatePicker` by using the `Foreground` property and also we can change the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) items and selected date item foreground by using the `Foreground` and [SfDateSelector.SelectedForeground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html#Syncfusion_Windows_Controls_Input_SfDateSelector_SelectedForeground) properties of `SfDateSelector`. {% highlight XAML %} - + - - - - + + + + + {% endhighlight %} @@ -36,20 +40,24 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/wpf-date-picker ## Setting the Background -We can change a background of the `SfDatePicker` by using the `background` property and also we can change the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) items and selected date item background by using the `Background` and [SfDateSelector.AccentBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_AccentBrush) properties of `SfDateSelector`. +We can change the background of the `SfDatePicker` by using the `Background` property and also we can change the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) items and selected date item background by using the `Background` and [SfDateSelector.AccentBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_AccentBrush) properties of `SfDateSelector`. {% highlight XAML %} - + - - - - + + + + + {% endhighlight %} @@ -59,16 +67,22 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/wpf-date-picker ## Change flow direction -We can change the flow direction of the `SfDatePicker` control from right to left by setting the `FlowDirection` property value as `RightToLeft`. The Default value of `FlowDirection` property is `LeftToRight`. +We can change the flow direction of the `SfDatePicker` control from right to left by setting the `FlowDirection` property value as `RightToLeft`. The default value of `FlowDirection` property is `LeftToRight`. {% tabs %} {% highlight xaml %} - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker= new SfDatePicker(); sfDatePicker.FlowDirection = FlowDirection.RightToLeft; diff --git a/wpf/DatePicker/Customizing-DropDown.md b/wpf/DatePicker/Customizing-DropDown.md index c733e900d6..54633fc747 100644 --- a/wpf/DatePicker/Customizing-DropDown.md +++ b/wpf/DatePicker/Customizing-DropDown.md @@ -2,28 +2,34 @@ layout: post title: Customizing DropDown in WPF DatePicker control | Syncfusion® description: Learn here all about Customizing DropDown support in Syncfusion® WPF DatePicker (SfDatePicker) control and more. -platform: WPF +platform: wpf control: SfDatePicker documentation: ug --- # Customizing DropDown in WPF DatePicker (SfDatePicker) -We can customize the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) visibility, drop down button visibility and height of the `SfDateSelector`. +We can customize the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) visibility, drop-down button visibility and height of the `SfDateSelector`. ## Change DropDown height -The height of drop down can be changed using [DropDownHeight](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_DropDownHeight) property. +The height of drop-down can be changed using [DropDownHeight](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_DropDownHeight) property. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.DropDownHeight = 300; @@ -34,17 +40,23 @@ sfDatePicker.DropDownHeight = 300; ## Show or hide DropDown button -If we want to restrict the user to selecting a date from a drop down date selector, we can hide the drop down button by using the [ShowDropDownButton](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_ShowDropDownButton) property value as `false`. The default value of `ShowDropDownButton` property is `true`. +If we want to restrict the user from selecting a date from a drop-down date selector, we can hide the drop-down button by using the [ShowDropDownButton](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_ShowDropDownButton) property value as `false`. The default value of `ShowDropDownButton` property is `true`. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.ShowDropDownButton = false; diff --git a/wpf/DatePicker/Formatting.md b/wpf/DatePicker/Formatting.md index ff5dd31c65..3616560512 100644 --- a/wpf/DatePicker/Formatting.md +++ b/wpf/DatePicker/Formatting.md @@ -2,7 +2,7 @@ layout: post title: Date Formatting in WPF DatePicker control | Syncfusion® description: Learn here all about Date Formatting support in Syncfusion® WPF DatePicker (SfDatePicker) control and more. -platform: WPF +platform: wpf control: SfDatePicker documentation: ug --- @@ -13,17 +13,23 @@ The [SfDatePicker](https://www.syncfusion.com/wpf-controls/datepicker) control a ## Display the date using the FormatString - We can edit and display the selected date with various formatting like date, month and year formats by using the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_FormatString) property. The default value of `FormatString` property is `"d"`. +We can edit and display the selected date with various formatting like date, month and year formats by using the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_FormatString) property. The default value of `FormatString` property is `"d"`. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.FormatString = "M"; @@ -34,17 +40,22 @@ sfDatePicker.FormatString = "M"; ## Specifying format for the DateSelector -We can allow the user to select the pair of date, month and year selector or any single selector cell from the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) by using the [SelectorFormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_SelectorFormatString) property. The default value of `SelectorFormatString` property is `"M/d/yyyy"` and the date, time and year value selector is enabled in the `SfDateSelector`. +We can allow the user to select the pair of date, month and year selector or any single selector cell from the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) by using the [SelectorFormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_SelectorFormatString) property. The default value of `SelectorFormatString` property is `"M/d/yyyy"` and the day, month and year value selectors are enabled in the `SfDateSelector`. {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.SelectorFormatString = "M"; @@ -53,7 +64,7 @@ sfDatePicker.SelectorFormatString = "M"; ![WPF DatePicker Month Selector](Features_images/wpf-datepicker-month-selector.png) -Here, we can only able to select the month value from the `SfDateSelector` +Here, we are only able to select the month value from the `SfDateSelector`. Click [here](https://github.com/SyncfusionExamples/wpf-date-picker-examples/tree/master/Samples/Formatting) to download the sample that showcases the edit, display date formatting and date selection formatting by the `SfDatePicker`. diff --git a/wpf/DatePicker/Getting-Started.md b/wpf/DatePicker/Getting-Started.md index a0154915ec..e7090aae04 100644 --- a/wpf/DatePicker/Getting-Started.md +++ b/wpf/DatePicker/Getting-Started.md @@ -2,7 +2,7 @@ layout: post title: Getting Started with WPF DatePicker control | Syncfusion® description: Learn here about getting started with Syncfusion® WPF DatePicker (SfDatePicker) control, its elements and more. -platform: WPF +platform: wpf control: SfDatePicker documentation: ug --- @@ -21,7 +21,7 @@ Refer to the [control dependencies](https://help.syncfusion.com/wpf/control-depe You can find more details about installing the NuGet package in a WPF application in the following link: -[How to install nuget packages](https://help.syncfusion.com/wpf/welcome-to-syncfusion-essential-wpf) +[How to install nuget packages](https://help.syncfusion.com/extension/syncfusion-nuget-packages/nuget-packages) ## Add control through designer @@ -101,17 +101,23 @@ namespace SfDatePickerSample { ## Setting the Date -We can set or change the selected date by using [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Value) property. If we not assign any value for the `Value` property, it will automatically assign the current system date as `Value` property value. +We can set or change the selected date by using [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Value) property. If we do not assign any value for the `Value` property, it will automatically assign the current system date as `Value` property value. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker= new SfDatePicker(); sfDatePicker.Value = new DateTime(2021,5,30); @@ -122,7 +128,7 @@ sfDatePicker.Value = new DateTime(2021,5,30); ## Date changed notification -When the selected date of `SfDatePicker`is changed, it will be notified by using the [ValueChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html) event. You can get the details about the checked item in [ItemCheckedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ItemCheckedEventArgs.html). +When the selected date of `SfDatePicker` is changed, it will be notified by using the [ValueChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html) event. You can get the details about the checked item in [ItemCheckedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ItemCheckedEventArgs.html). * **OldValue** : Gets a date which is previously selected. @@ -131,12 +137,18 @@ When the selected date of `SfDatePicker`is changed, it will be notified by using {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.ValueChanged += SfdatePicker_ValueChanged; @@ -158,17 +170,23 @@ private void SfdatePicker_ValueChanged(DependencyObject d, DependencyPropertyCha ## Display the date using the FormatString - We can edit and display the selected date with various formatting like date, month and year formats by using the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_FormatString) property. The default value of `FormatString` property is `"d"`. +We can edit and display the selected date with various formatting like date, month and year formats by using the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_FormatString) property. The default value of `FormatString` property is `"d"`. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.FormatString = "M"; @@ -179,17 +197,23 @@ sfDatePicker.FormatString = "M"; ## Specifying format for the DateSelector -We can allow the user to select the pair of date, month and year selector or any single selector cell from the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) by using the [SelectorFormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_SelectorFormatString) property. The default value of `SelectorFormatString` property is `"M/d/yyyy"` and the date, time and year value selector is enabled in the `SfDateSelector`. +We can allow the user to select the pair of date, month and year selector or any single selector cell from the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) by using the [SelectorFormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_SelectorFormatString) property. The default value of `SelectorFormatString` property is `"M/d/yyyy"` and the day, month and year value selectors are enabled in the `SfDateSelector`. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.SelectorFormatString = "M"; @@ -197,23 +221,29 @@ sfDatePicker.SelectorFormatString = "M"; {% endtabs %} ![WPF DatePicker Month Selector](Features_images/wpf-datepicker-month-selector.png) -Here, we can only able to select the month value from the `SfDateSelector` +Here, we are only able to select the month value from the `SfDateSelector`. Click [here](https://github.com/SyncfusionExamples/wpf-date-picker-examples/tree/master/Samples/Formatting) to download the sample that showcases the display date formatting and date selection formatting by the `SfDatePicker`. ## Set selected value on lost focus -If we want to update the selected date of `SfDateSelector` to the `SfDatePicker.Value` property by moving the focus from `SfDateSelector` to anywhere, use the [SetValueOnLostFocus](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_SetValueOnLostFocus) property value as `true`. By default, the selected date of `SfDateSelector` can be sets to the `SfDatePicker.Value` property only by clicking the `OK` button, otherwise the selected value not updated by the move focus. +If we want to update the selected date of `SfDateSelector` to the `SfDatePicker.Value` property by moving the focus from `SfDateSelector` to anywhere, use the [SetValueOnLostFocus](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_SetValueOnLostFocus) property value as `true`. By default, the selected date of `SfDateSelector` can be set to the `SfDatePicker.Value` property only by clicking the `OK` button, otherwise the selected value is not updated on moving focus. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker= new SfDatePicker(); sfDatePicker.SetValueOnLostFocus = true; @@ -226,7 +256,7 @@ Click [here](https://github.com/SyncfusionExamples/wpf-date-picker-examples/tree ## Localization support -Localization is the process of translating the application resources into different language for the specific cultures. You can localize the `Ok` and `Cancel` button text in `SfDatePicker` control by adding resource file for each language. +Localization is the process of translating the application resources into different languages for the specific cultures. You can localize the `Ok` and `Cancel` button text in `SfDatePicker` control by adding resource file for each language. N> Refer [Localization](https://help.syncfusion.com/wpf/localization) page to know more about how to provide a localization support for the `SfDatePicker`. diff --git a/wpf/DatePicker/Overview.md b/wpf/DatePicker/Overview.md index fda0635a56..c4d99721ab 100644 --- a/wpf/DatePicker/Overview.md +++ b/wpf/DatePicker/Overview.md @@ -2,7 +2,7 @@ layout: post title: About WPF DatePicker control | Syncfusion® description: Learn here all about introduction of Syncfusion® WPF DatePicker (SfDatePicker) control, its elements and more. -platform: WPF +platform: wpf control: SfDatePicker documentation: ug --- @@ -21,7 +21,7 @@ The [SfDatePicker](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Control ### Key Features -Formatting – The Control displays the selected Date value in a various formats. +Formatting – The control displays the selected Date value in various formats. Date Selector – The drop-down portion used for selecting the date can be customized. diff --git a/wpf/DatePicker/Setting-Value.md b/wpf/DatePicker/Setting-Value.md index ade4e2e984..902d2c7b2a 100644 --- a/wpf/DatePicker/Setting-Value.md +++ b/wpf/DatePicker/Setting-Value.md @@ -2,7 +2,7 @@ layout: post title: Setting Date in WPF DatePicker control | Syncfusion® description: Learn here all about Setting Date support in Syncfusion® WPF DatePicker (SfDatePicker) control and more. -platform: WPF +platform: wpf control: SfDatePicker documentation: ug --- @@ -11,19 +11,25 @@ documentation: ug We can change the value of [SfDatePicker](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html) by using the [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) and keyboard interaction. -## Setting Date using property +## Setting Date using property -We can set or change the selected date by using [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Value) property. If we not assign any value for the `Value` property, it will automatically assign the current system date as `Value` property value. +We can set or change the selected date by using [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Value) property. If we do not assign any value for the `Value` property, it will automatically assign the current system date as `Value` property value. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker= new SfDatePicker(); sfDatePicker.Value = new DateTime(2021,5,30); @@ -39,13 +45,19 @@ If we want to set null value for the `SfDatePicker`, set the [AllowNull](https:/ {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker= new SfDatePicker(); sfDatePicker.AllowNull = true; sfDatePicker.Value = null; @@ -57,20 +69,26 @@ sfDatePicker.Value = null; ## Setting WaterMark text -We can prompt the user with some information by using the [Watermark](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Watermark) property. This will apply on when the `SfDatePicker` contains the [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Value) property as `null` and [AllowNull](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_AllowNull) property as `true` . If `AllowNull` property is `false`, then the current system date is updated in `Value` property and displayed instead of `Watermark` text. +We can prompt the user with some information by using the [Watermark](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Watermark) property. This will be applied when the `SfDatePicker` contains the [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Value) property as `null` and [AllowNull](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_AllowNull) property as `true` . If `AllowNull` property is `false`, then the current system date is updated in `Value` property and displayed instead of `Watermark` text. {% tabs %} {% highlight xaml %} - + - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.Watermark = "Select the Date"; sfDatePicker.AllowNull = true; @@ -88,7 +106,10 @@ We can change the template of the `Watermark` by using the [WatermarkTemplate](h {% tabs %} {% highlight xaml %} - + @@ -103,6 +124,7 @@ We can change the template of the `Watermark` by using the [WatermarkTemplate](h + {% endhighlight %} {% endtabs %} @@ -111,17 +133,23 @@ We can change the template of the `Watermark` by using the [WatermarkTemplate](h ## Set selected value on lost focus -If we want to update the selected date of `SfDateSelector` to the `SfDatePicker.Value` property by moving the focus from `SfDateSelector` to anywhere, use the [SetValueOnLostFocus](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_SetValueOnLostFocus) property value as `true`. By default, the selected date of `SfDateSelector` can be sets to the `SfDatePicker.Value` property only by clicking the `OK` button, otherwise the selected value not updated by the move focus. +If we want to update the selected date of `SfDateSelector` to the `SfDatePicker.Value` property by moving the focus from `SfDateSelector` to anywhere, use the [SetValueOnLostFocus](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_SetValueOnLostFocus) property value as `true`. By default, the selected date of `SfDateSelector` can be set to the `SfDatePicker.Value` property only by clicking the `OK` button, otherwise the selected value is not updated on moving focus. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker= new SfDatePicker(); sfDatePicker.SetValueOnLostFocus = true; @@ -132,19 +160,25 @@ sfDatePicker.SetValueOnLostFocus = true; ## Setting the date using editing -If we want to perform the validation after the user completely entering their date inputs, use the [AllowInlineEditing](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_AllowInlineEditing) property value as `true`. Then the entered date value is validated with the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_FormatString) property value by pressing the `Enter` key or lost focus. If entered value is not suit with `FormatString` property, the selected date will be set as default format value. +If we want to perform the validation after the user completely entering their date inputs, use the [AllowInlineEditing](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_AllowInlineEditing) property value as `true`. Then the entered date value is validated with the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_FormatString) property value by pressing the `Enter` key or lost focus. If the entered value does not suit the `FormatString` property, the selected date will be set as default format value. -By default, the user entering each input numbers are automatically validated with the `FormatString` formats and assigned the proper value for it, then it will move to next input part of the date format. +By default, each input number the user enters is automatically validated with the `FormatString` formats and assigned the proper value for it, then it will move to next input part of the date format. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker= new SfDatePicker(); sfDatePicker.AllowInlineEditing = true; @@ -162,13 +196,19 @@ N> The [AllowInlineEditing](https://help.syncfusion.com/cr/wpf/Syncfusion.Window {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker= new SfDatePicker(); sfDatePicker.AllowInlineEditing = true; sfDatePicker.InputScope = InputScopeNameValue.Date; @@ -180,33 +220,38 @@ sfDatePicker.InputScope = InputScopeNameValue.Date; ## Restrict selecting date limit -we can restrict the user to select a date in the specific date limit by setting the value for the [MinDate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_MinDate) and [MaxDate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_MaxDate) properties. If we assign the value for the `Value` property lower than `MinDate`, then `MinDate` will be the selected date. If we assign the value for the `Value` property higher than `MaxDate`, then `MaxDate` will be the selected date. +We can restrict the user to select a date in the specific date limit by setting the value for the [MinDate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_MinDate) and [MaxDate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_MaxDate) properties. If we assign the value for the `Value` property lower than `MinDate`, then `MinDate` will be the selected date. If we assign the value for the `Value` property higher than `MaxDate`, then `MaxDate` will be the selected date. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.MinDate = new DateTime(2020, 1, 1); sfDatePicker.MaxDate = new DateTime(2020, 6, 30); - {% endhighlight %} {% endtabs %} ![WPF DatePicker with Min-Max Date Range](Features_images/wpf-datepicker-min-max-date-range.png) -Here, the users can select the year from `2019` to `2021` only. +Here, the users can select the date from `1/1/2020` to `6/30/2020` only. ## Date changed notification -When the selected date of `SfDatePicker`is changed, it will be notified by using the [ValueChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html) event. You can get the details about the checked item in [ItemCheckedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ItemCheckedEventArgs.html). +When the selected date of `SfDatePicker` is changed, it will be notified by using the [ValueChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html) event. You can get the details about the checked item in [ItemCheckedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ItemCheckedEventArgs.html). * **OldValue** : Gets a date which is previously selected. @@ -215,12 +260,18 @@ When the selected date of `SfDatePicker`is changed, it will be notified by using {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.ValueChanged += SfdatePicker_ValueChanged; diff --git a/wpf/DatePicker/SfDateSelector.md b/wpf/DatePicker/SfDateSelector.md index 32eda48ed2..62cbd33c98 100644 --- a/wpf/DatePicker/SfDateSelector.md +++ b/wpf/DatePicker/SfDateSelector.md @@ -2,14 +2,14 @@ layout: post title: Date Selector in WPF DatePicker control | Syncfusion® description: Learn here all about Date Selector support in Syncfusion® WPF DatePicker (SfDatePicker) control and more. -platform: WPF +platform: wpf control: SfDatePicker documentation: ug --- # Date Selector in WPF DatePicker (SfDatePicker) -The [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) is a sub-control of [SfDatePicker](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html) which opens inside the drop-down popup and used to select the date for the `SfDatePicker`. It contains the date, month and year selection cells for select the date. The selected date of the `SfDateSelector` is assigned to the [SfDatePicker.Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Value) property. +The [SfDateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html) is a sub-control of [SfDatePicker](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html) which opens inside the drop-down popup and used to select the date for the `SfDatePicker`. It contains the date, month and year selection cells for selecting the date. The selected date of the `SfDateSelector` is assigned to the [SfDatePicker.Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDatePicker.html#Syncfusion_Windows_Controls_Input_SfDatePicker_Value) property. ![WPF DatePicker Date Selector](Features_images/wpf-datepicker-date-selector.png) @@ -17,45 +17,49 @@ The visual elements of the date selector can be customized using the [SelectorSt ## Change the Cell templates -We can changes the template for the Date, Month or Year selector by using the `DayCellTemplate`, `MonthCellTemplate` or `YearCellTemplate` which are available in the `SfDateSelector`. +We can change the template for the Date, Month or Year selector by using the `DayCellTemplate`, `MonthCellTemplate` or `YearCellTemplate` which are available in the `SfDateSelector`. N> The DataContext of Month, Date and Year selection cell is [DateTimeWrapper](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Primitives.DateTimeWrapper.html). ## Change the DayCell Template -We can change the day selector template by using the [DayCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html#Syncfusion_Windows_Controls_Input_SfDateSelector_DayCellTemplate) property. In that, we can add like image, icon or text with the day numbers. +We can change the day selector template by using the [DayCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html#Syncfusion_Windows_Controls_Input_SfDateSelector_DayCellTemplate) property. In it, we can add an image, icon, or text along with the day numbers. {% highlight xaml %} - + - - - - + + + + + {% endhighlight %} @@ -64,39 +68,43 @@ We can change the day selector template by using the [DayCellTemplate](https://h ## Change the MonthCell Template -We can change the month selector template by using the [MonthCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html#Syncfusion_Windows_Controls_Input_SfDateSelector_MonthCellTemplate) property. In that, we can add like image, icon or text with the month numbers. +We can change the month selector template by using the [MonthCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html#Syncfusion_Windows_Controls_Input_SfDateSelector_MonthCellTemplate) property. In it, we can add an image, icon, or text along with the month numbers. {% highlight xaml %} - + - - - - + + + + + {% endhighlight %} @@ -104,39 +112,43 @@ We can change the month selector template by using the [MonthCellTemplate](https ## Change the YearCell Template -We can change the year selector template by using the [YearCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html#Syncfusion_Windows_Controls_Input_SfDateSelector_YearCellTemplate) property. In that, we can add like image, icon or text with the year numbers. +We can change the year selector template by using the [YearCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfDateSelector.html#Syncfusion_Windows_Controls_Input_SfDateSelector_YearCellTemplate) property. In it, we can add an image, icon, or text along with the year numbers. {% highlight xaml %} - + - - - - + + + + + {% endhighlight %} @@ -149,12 +161,17 @@ We can change the cell size in the `SfDateSelector` control by setting the [Sele {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Controls.Input; SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.SelectorItemWidth = 100; @@ -172,11 +189,16 @@ We can change the space between `SfDateSelector` date, month and year items by u {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Controls.Input; SfDatePicker sfDatePicker = new SfDatePicker(); sfDatePicker.SelectorItemSpacing = 50; From af664506e353880ae2f05a1d38603f6f4d661433 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Fri, 10 Jul 2026 16:05:54 +0530 Subject: [PATCH 10/46] Addressed CI issue. --- wpf/TimeSpan-Editor/Getting-Started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wpf/TimeSpan-Editor/Getting-Started.md b/wpf/TimeSpan-Editor/Getting-Started.md index edf0de44e4..c99a7ed66b 100644 --- a/wpf/TimeSpan-Editor/Getting-Started.md +++ b/wpf/TimeSpan-Editor/Getting-Started.md @@ -21,7 +21,7 @@ Refer to the [control dependencies](https://help.syncfusion.com/wpf/control-depe You can find more details about installing the NuGet package in a WPF application in the following link: -[How to install nuget packages](https://help.syncfusion.com/wpf/visual-studio-integration/nuget-packages) +[How to install nuget packages](https://help.syncfusion.com/extension/syncfusion-nuget-packages/nuget-packages) ## Adding WPF TimeSpanEdit via designer From fe734b04ee10c4f675da59fe3077e3d0f5d5b771 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Fri, 10 Jul 2026 17:51:01 +0530 Subject: [PATCH 11/46] Task(1036752): Updated UG revamp work for WPF TimePicker control. --- wpf/TimePicker/Appearance-and-Styling.md | 54 ++++--- wpf/TimePicker/Customizing-DropDown.md | 24 ++- wpf/TimePicker/Formatting.md | 28 +++- wpf/TimePicker/Getting-Started.md | 84 +++++++--- wpf/TimePicker/Overview.md | 4 +- wpf/TimePicker/Setting-Value.md | 116 ++++++++++---- wpf/TimePicker/SfTimeSelector.md | 196 +++++++++++++---------- 7 files changed, 333 insertions(+), 173 deletions(-) diff --git a/wpf/TimePicker/Appearance-and-Styling.md b/wpf/TimePicker/Appearance-and-Styling.md index c095d680b3..75ead31b83 100644 --- a/wpf/TimePicker/Appearance-and-Styling.md +++ b/wpf/TimePicker/Appearance-and-Styling.md @@ -2,7 +2,7 @@ layout: post title: Appearance in WPF TimePicker control | Syncfusion® description: Learn here all about Appearance support in Syncfusion® WPF TimePicker (SfTimePicker) control and more. -platform: WPF +platform: wpf control: SfTimePicker documentation: ug --- @@ -13,20 +13,24 @@ This section explains different UI customization, styling, theming options avail ## Setting the Foreground -We can change a foreground of the `SfTimePicker` by using the `Foreground` property and also we can change the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) items and selected time item foreground by using the `Foreground` and [SfTimeSelector.SelectedForeground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html#Syncfusion_Windows_Controls_Input_SfTimeSelector_SelectedForeground) properties of `SfTimeSelector`. +We can change the foreground of the `SfTimePicker` by using the `Foreground` property and also we can change the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) items and selected time item foreground by using the `Foreground` and [SfTimeSelector.SelectedForeground](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html#Syncfusion_Windows_Controls_Input_SfTimeSelector_SelectedForeground) properties of `SfTimeSelector`. {% highlight XAML %} - + - - - - + + + + + {% endhighlight %} @@ -34,20 +38,24 @@ We can change a foreground of the `SfTimePicker` by using the `Foreground` prope ## Setting the Background -We can change a background of the `SfTimePicker` by using the `background` property and also we can change the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) items and selected time item background by using the `Background` and [SfTimeSelector.AccentBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_AccentBrush) properties of `SfTimeSelector`. +We can change the background of the `SfTimePicker` by using the `Background` property and also we can change the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) items and selected time item background by using the `Background` and [SfTimeSelector.AccentBrush](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_AccentBrush) properties of `SfTimeSelector`. {% highlight XAML %} - + - - - - + + + + + {% endhighlight %} @@ -55,16 +63,22 @@ We can change a background of the `SfTimePicker` by using the `background` prope ## Change flow direction -We can change the flow direction of the `SfTimePicker` control from right to left by setting the `FlowDirection` property value as `RightToLeft`. The Default value of `FlowDirection` property is `LeftToRight`. +We can change the flow direction of the `SfTimePicker` control from right to left by setting the `FlowDirection` property value as `RightToLeft`. The default value of `FlowDirection` property is `LeftToRight`. {% tabs %} {% highlight xaml %} - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.FlowDirection = FlowDirection.RightToLeft; diff --git a/wpf/TimePicker/Customizing-DropDown.md b/wpf/TimePicker/Customizing-DropDown.md index c6f2769486..539fa986a0 100644 --- a/wpf/TimePicker/Customizing-DropDown.md +++ b/wpf/TimePicker/Customizing-DropDown.md @@ -2,27 +2,32 @@ layout: post title: Customizing DropDown in WPF TimePicker control | Syncfusion® description: Learn here all about Customizing DropDown support in Syncfusion® WPF TimePicker (SfTimePicker) control and more. -platform: WPF +platform: wpf control: SfTimePicker documentation: ug --- # Customizing DropDown in WPF TimePicker (SfTimePicker) -We can customize the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) visibility, drop down button visibility and height of the `SfTimeSelector`. +We can customize the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) visibility, drop-down button visibility and height of the `SfTimeSelector`. ## Change DropDown height -The height of drop down can be changed using [DropDownHeight](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_DropDownHeight) property. +The height of drop-down can be changed using [DropDownHeight](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_DropDownHeight) property. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Controls.Input; SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.DropDownHeight = 300; @@ -34,16 +39,21 @@ sfTimePicker.DropDownHeight = 300; ## Show or hide DropDown button -If we want to restrict the user to selecting a time from a drop down time selector, we can hide the drop down button by using the [ShowDropDownButton](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_ShowDropDownButton) property value as `false`. The default value of `ShowDropDownButton` property is `true`. +If we want to restrict the user from selecting a time from a drop-down time selector, we can hide the drop-down button by using the [ShowDropDownButton](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_ShowDropDownButton) property value as `false`. The default value of `ShowDropDownButton` property is `true`. {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Controls.Input; SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.ShowDropDownButton = false; @@ -51,6 +61,6 @@ sfTimePicker.ShowDropDownButton = false; {% endhighlight %} {% endtabs %} -![SfTimePicker hides the drop down button](Features_images/Customizing-DropDown_img3.png) +![SfTimePicker hides the drop-down button](Features_images/Customizing-DropDown_img3.png) Click [here](https://github.com/SyncfusionExamples/wpf-time-picker-examples/tree/master/Samples/TimeSelectorItem) to download the sample that showcases the DropDown customization support. diff --git a/wpf/TimePicker/Formatting.md b/wpf/TimePicker/Formatting.md index 281d6af847..b9e6fc1674 100644 --- a/wpf/TimePicker/Formatting.md +++ b/wpf/TimePicker/Formatting.md @@ -2,7 +2,7 @@ layout: post title: Time Formatting in WPF TimePicker control | Syncfusion® description: Learn here all about Time Formatting support in Syncfusion® WPF TimePicker (SfTimePicker) control and more. -platform: WPF +platform: wpf control: SfTimePicker documentation: ug --- @@ -13,17 +13,23 @@ The [SfTimePicker](https://www.syncfusion.com/wpf-ui-controls/timepicker) contro ## Display the time using the FormatString - We can edit and display the selected time with various formatting like short time, long time, universal time and 24 hour time formats by using the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_FormatString) property. The default value of `FormatString` property is `"h:mm tt"`. +We can edit and display the selected time with various formatting like short time, long time, universal time and 24-hour time formats by using the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_FormatString) property. The default value of `FormatString` property is `"h:mm tt"`. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.FormatString = "HH:mm:ss"; @@ -32,21 +38,27 @@ sfTimePicker.FormatString = "HH:mm:ss"; ![SfTimePicker with 24 hour time format](Features_images/Features_img1.png) -Here, `SfTimePicker` with 24 hour time format +Here, `SfTimePicker` displays a 24-hour time format. ## Specifying format for the TimeSelector -We can allow the user to select the pair of hour, minutes, seconds and meridiem selector or any single selector cell from the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) by using the [SelectorFormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_SelectorFormatString) property. The default value of `SelectorFormatString` property is `"h:mm tt"` and the hour, minutes and meridiem value selector is enabled in the `SfTimeSelector`. +We can allow the user to select the pair of hour, minutes, seconds and meridiem selector or any single selector cell from the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) by using the [SelectorFormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_SelectorFormatString) property. The default value of `SelectorFormatString` property is `"h:mm tt"` and the hour, minutes, and meridiem value selectors are enabled in the `SfTimeSelector`. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.SelectorFormatString = "M"; @@ -55,8 +67,8 @@ sfTimePicker.SelectorFormatString = "M"; ![SfTimePicker contains only hour and meridiem value selector](Features_images/Features_img2.png) -Here, we can only able to select the hour and meridiem value from the `SfTimeSelector` +Here, we are only able to select the hour and meridiem value from the `SfTimeSelector`. Click [here](https://github.com/SyncfusionExamples/wpf-time-picker-examples/tree/master/Samples/Formatting) to download the sample that showcases the edit, display time formatting and time selection formatting by the `SfTimePicker`. -N> A detailed explanation of standard time formatting is available [here](https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/az4se3k1(v=vs.71)). The result string produced by these format specifiers are influenced by the settings in the Regional Options control panel. Computers with different cultures or different time and time settings will generate different result strings. +N> A detailed explanation of standard time formatting is available [here](https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/az4se3k1(v=vs.71)). The result string produced by these format specifiers are influenced by the settings in the Regional Options control panel. Computers with different cultures or different time settings will generate different result strings. diff --git a/wpf/TimePicker/Getting-Started.md b/wpf/TimePicker/Getting-Started.md index 7423daf2f7..14f577a66a 100644 --- a/wpf/TimePicker/Getting-Started.md +++ b/wpf/TimePicker/Getting-Started.md @@ -2,7 +2,7 @@ layout: post title: Getting Started with WPF TimePicker control | Syncfusion® description: Learn here about getting started with Syncfusion® WPF TimePicker (SfTimePicker) control, its elements and more. -platform: WPF +platform: wpf control: SfTimePicker documentation: ug --- @@ -21,7 +21,7 @@ Refer to the [control dependencies](https://help.syncfusion.com/wpf/control-depe You can find more details about installing the NuGet package in a WPF application in the following link: -[How to install nuget packages](https://help.syncfusion.com/wpf/visual-studio-integration/nuget-packages) +[How to install nuget packages](https://help.syncfusion.com/extension/syncfusion-nuget-packages/nuget-packages) ## Add control through designer @@ -101,17 +101,23 @@ namespace SfTimePickerSample { ## Setting the time -We can set or change the selected time by using [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_Value) property. If we not assign any value for the `Value` property, it will automatically assign the current system time as `Value` property value. +We can set or change the selected time by using [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_Value) property. If we do not assign any value for the `Value` property, it will automatically assign the current system time as `Value` property value. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.Value = new TimeSpan(04, 45, 00); @@ -122,7 +128,7 @@ sfTimePicker.Value = new TimeSpan(04, 45, 00); ## Time changed notification -When the selected time of `SfTimePicker`is changed, it will be notified by using the [ValueChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_ValueChanged) event. You can get the details about the checked item in [ItemCheckedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ItemCheckedEventArgs.html). +When the selected time of `SfTimePicker` is changed, it will be notified by using the [ValueChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_ValueChanged) event. You can get the details about the checked item in [ItemCheckedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ItemCheckedEventArgs.html). * **OldValue** : Gets a time which is previously selected. @@ -131,12 +137,18 @@ When the selected time of `SfTimePicker`is changed, it will be notified by using {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.ValueChanged += SftimePicker_ValueChanged; @@ -158,17 +170,23 @@ private void SftimePicker_ValueChanged(DependencyObject d, DependencyPropertyCha ## Display the time using the FormatString - We can edit and display the selected time with various formatting like short time, long time, universal time and 24 hour time formats by using the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_FormatString) property. The default value of `FormatString` property is `"h:mm tt"`. +We can edit and display the selected time with various formatting like short time, long time, universal time and 24-hour time formats by using the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_FormatString) property. The default value of `FormatString` property is `"h:mm tt"`. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.FormatString = "HH:mm:ss"; @@ -177,21 +195,27 @@ sfTimePicker.FormatString = "HH:mm:ss"; ![SfTimePicker with 24 hour time format](Features_images/Features_img1.png) -Here, `SfTimePicker` with 24 hour time format +Here, `SfTimePicker` displays a 24-hour time format. ## Specifying format for the TimeSelector -We can allow the user to select the pair of hour, minutes, seconds and meridiem selector or any single selector cell from the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) by using the [SelectorFormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_SelectorFormatString) property. The default value of `SelectorFormatString` property is `"h:mm tt"` and the hour, minutes and meridiem value selector is enabled in the `SfTimeSelector`. +We can allow the user to select the pair of hour, minutes, seconds and meridiem selector or any single selector cell from the [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) by using the [SelectorFormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_SelectorFormatString) property. The default value of `SelectorFormatString` property is `"h:mm tt"` and the hour, minutes, and meridiem value selectors are enabled in the `SfTimeSelector`. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.SelectorFormatString = "h/t"; @@ -206,24 +230,30 @@ Click [here](https://github.com/SyncfusionExamples/wpf-time-picker-examples/tree ## Set selected value on lost focus -If we want to update the selected time of `SfTimeSelector` to the `SfTimeSelector.Value` property by moving the focus from `SfTimeSelector` to anywhere, use the [SetValueOnLostFocus](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_SetValueOnLostFocus) property value as `true`. By default, the selected time of `SfTimeSelector` can be sets to the `SfTimeSelector.Value` property only by clicking the `OK` button, otherwise the selected value not updated by the move focus. +If we want to update the selected time of `SfTimeSelector` to the `SfTimePicker.Value` property by moving the focus from `SfTimeSelector` to anywhere, use the [SetValueOnLostFocus](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_SetValueOnLostFocus) property value as `true`. By default, the selected time of `SfTimeSelector` can be set to the `SfTimePicker.Value` property only by clicking the `OK` button, otherwise the selected value is not updated on moving focus. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.SetValueOnLostFocus = true; {% endhighlight %} {% endtabs %} -![SfTimePicker value updated on when SfTimeSelector lost its focus](Features_images/Features_img15.gif) +![SfTimePicker value updated when SfTimeSelector lost its focus](Features_images/Features_img15.gif) Click [here](https://github.com/SyncfusionExamples/wpf-time-picker-examples/tree/master/Samples/Value-setting) to download the sample that showcases the value setting support in the `SfTimePicker`. @@ -236,14 +266,20 @@ When the `AllowInlineEditing` is true, you can freely edit the value in the `SfT {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.FormatString = "HH:mm"; sfTimePicker.AllowInlineEditing = true; @@ -260,15 +296,21 @@ When the `AllowInlineEditing` is false and `ShowDropDownButton` is true, you can {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.FormatString = "HH:mm"; sfTimePicker.AllowInlineEditing = false; @@ -286,15 +328,21 @@ When the `AllowInlineEditing` and `ShowDropDownButton` are false, the control be {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.FormatString = "HH:mm"; sfTimePicker.AllowInlineEditing = false; @@ -305,7 +353,7 @@ sfTimePicker.ShowDropDownButton = false; ## Localization support -Localization is the process of translating the application resources into different language for the specific cultures. You can localize the `Ok` and `Cancel` button text in `SfTimePicker` control by adding resource file for each language. +Localization is the process of translating the application resources into different languages for the specific cultures. You can localize the `Ok` and `Cancel` button text in `SfTimePicker` control by adding resource file for each language. N> Refer [Localization](https://help.syncfusion.com/wpf/localization) page to know more about how to provide a localization support for the `SfTimePicker`. diff --git a/wpf/TimePicker/Overview.md b/wpf/TimePicker/Overview.md index e28a00fc09..5c9a0cf5fa 100644 --- a/wpf/TimePicker/Overview.md +++ b/wpf/TimePicker/Overview.md @@ -2,7 +2,7 @@ layout: post title: About WPF TimePicker control | Syncfusion® description: Learn here all about introduction of Syncfusion® WPF TimePicker (SfTimePicker) control, its elements and more. -platform: WPF +platform: wpf control: SfTimePicker documentation: ug --- @@ -21,6 +21,6 @@ The [SfTimePicker](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Control ### Key Features -* **Formatting** – The Control displays the selected time value in a various formats. +* **Formatting** – The control displays the selected time value in various formats. * **Time Selector** – The drop-down portion used for selecting the time can be customized. diff --git a/wpf/TimePicker/Setting-Value.md b/wpf/TimePicker/Setting-Value.md index f93e5f4809..a1a3da61bd 100644 --- a/wpf/TimePicker/Setting-Value.md +++ b/wpf/TimePicker/Setting-Value.md @@ -2,7 +2,7 @@ layout: post title: Setting Time in WPF TimePicker control | Syncfusion® description: Learn here all about Setting Time support in Syncfusion® WPF TimePicker (SfTimePicker) control and more. -platform: WPF +platform: wpf control: SfTimePicker documentation: ug --- @@ -13,17 +13,23 @@ We can change the value of [SfTimePicker](https://help.syncfusion.com/cr/wpf/Syn ## Setting Time using property -We can set or change the selected time by using [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_Value) property. If we not assign any value for the `Value` property, it will automatically assign the current system time as `Value` property value. +We can set or change the selected time by using [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_Value) property. If we do not assign any value for the `Value` property, it will automatically assign the current system time as `Value` property value. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.Value = new TimeSpan(04, 45, 00); @@ -39,13 +45,19 @@ If we want to set null value for the `SfTimePicker`, set the [AllowNull](https:/ {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.AllowNull = true; sfTimePicker.Value = null; @@ -57,20 +69,26 @@ sfTimePicker.Value = null; ## Setting WaterMark text -We can prompt the user with some information by using the [Watermark](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_Watermark) property. This will apply on when the `SfTimePicker` contains the [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_Value) property as `null` and [AllowNull](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_AllowNull) property as `true`. If `AllowNull` property is `false`, then the current system time is updated in `Value` property and displayed instead of `Watermark` text. +We can prompt the user with some information by using the [Watermark](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_Watermark) property. This will be applied when the `SfTimePicker` contains the [Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_Value) property as `null` and [AllowNull](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_AllowNull) property as `true`. If `AllowNull` property is `false`, then the current system time is updated in `Value` property and displayed instead of `Watermark` text. {% tabs %} {% highlight xaml %} - + - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.Watermark = "Select the Time"; sfTimePicker.AllowNull = true; @@ -88,21 +106,25 @@ We can change the template of the `Watermark` by using the [WatermarkTemplate](h {% tabs %} {% highlight xaml %} - + - - - - - - - - + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -111,47 +133,59 @@ We can change the template of the `Watermark` by using the [WatermarkTemplate](h ## Set selected value on lost focus -If we want to update the selected time of `SfTimeSelector` to the `SfTimeSelector.Value` property by moving the focus from `SfTimeSelector` to anywhere, use the [SetValueOnLostFocus](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_SetValueOnLostFocus) property value as `true`. By default, the selected time of `SfTimeSelector` can be sets to the `SfTimeSelector.Value` property only by clicking the `OK` button, otherwise the selected value not updated by the move focus. +If we want to update the selected time of `SfTimeSelector` to the `SfTimePicker.Value` property by moving the focus from `SfTimeSelector` to anywhere, use the [SetValueOnLostFocus](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_SetValueOnLostFocus) property value as `true`. By default, the selected time of `SfTimeSelector` can be set to the `SfTimePicker.Value` property only by clicking the `OK` button, otherwise the selected value is not updated on moving focus. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.SetValueOnLostFocus = true; {% endhighlight %} {% endtabs %} -![SfTimePicker value updated on when SfTimeSelector lost its focus](Features_images/Features_img15.gif) +![SfTimePicker value updated when SfTimeSelector lost its focus](Features_images/Features_img15.gif) ## Setting the time using editing -If we want to perform the validation after the user completely entering their time inputs, use the [AllowInlineEditing](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_AllowInlineEditing) property value as `true`. Then the entered time value is validated with the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_FormatString) property value by pressing the `Enter` key or lost focus. If entered value is not suit with `FormatString` property, the selected time will be set as default format value. +If we want to perform the validation after the user completely entering their time inputs, use the [AllowInlineEditing](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_AllowInlineEditing) property value as `true`. Then the entered time value is validated with the [FormatString](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_FormatString) property value by pressing the `Enter` key or lost focus. If the entered value does not suit the `FormatString` property, the selected time will be set as default format value. -By default, the user entering each input numbers are automatically validated with the `FormatString` formats and assigned the proper value for it, then it will move to next input part of the time format. +By default, each input number the user enters is automatically validated with the `FormatString` formats and assigned the proper value for it, then it will move to next input part of the time format. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} -SfTimePicker sfTimePicker= new SfDatePicker(); +using Syncfusion.Windows.Controls.Input; + +SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.AllowInlineEditing = true; {% endhighlight %} {% endtabs %} -![SfDatePicker with inline time editing](Features_images/AllowInlineEditing.gif) +![SfTimePicker with inline time editing](Features_images/AllowInlineEditing.gif) ## Setting the Input Scope for the On-Screen Keyboard @@ -162,13 +196,19 @@ N> The [AllowInlineEditing](https://help.syncfusion.com/cr/wpf/Syncfusion.Window {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker= new SfTimePicker(); sfTimePicker.AllowInlineEditing = true; sfTimePicker.InputScope = InputScopeNameValue.Time; @@ -180,18 +220,24 @@ sfTimePicker.InputScope = InputScopeNameValue.Time; ## Restrict selecting time limit -we can restrict the user to select a time in the specific time limit by setting the value for the [MinTime](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_MinTime) and [MinTime](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_MaxTime) properties. If we assign the value for the `Value` property lower than `MinTime`, then `MinTime` will be the selected time. If we assign the value for the `Value` property higher than `MinTime`, then `MinTime` will be the selected time. +We can restrict the user from selecting a time in the specific time limit by setting the value for the [MinTime](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_MinTime) and [MaxTime](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_MaxTime) properties. If we assign the value for the `Value` property lower than `MinTime`, then `MinTime` will be the selected time. If we assign the value for the `Value` property higher than `MaxTime`, then `MaxTime` will be the selected time. {% tabs %} {% highlight xaml %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.MinTime = new TimeSpan(07,00,00); sfTimePicker.MaxTime = new TimeSpan(09,00,00); @@ -205,7 +251,7 @@ Here, the users can select the hour from 7 to 9 only. ## Time changed notification -When the selected time of `SfTimePicker`is changed, it will be notified by using the [ValueChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html) event. You can get the details about the checked item in [ItemCheckedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ItemCheckedEventArgs.html). +When the selected time of `SfTimePicker` is changed, it will be notified by using the [ValueChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html) event. You can get the details about the checked item in [ItemCheckedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ItemCheckedEventArgs.html). * **OldValue** : Gets a time which is previously selected. @@ -214,12 +260,18 @@ When the selected time of `SfTimePicker`is changed, it will be notified by using {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.ValueChanged += SftimePicker_ValueChanged; diff --git a/wpf/TimePicker/SfTimeSelector.md b/wpf/TimePicker/SfTimeSelector.md index 79846bd28a..bc00d27a03 100644 --- a/wpf/TimePicker/SfTimeSelector.md +++ b/wpf/TimePicker/SfTimeSelector.md @@ -2,14 +2,14 @@ layout: post title: Time Selector in WPF TimePicker control | Syncfusion® description: Learn here all about Time Selector support in Syncfusion® WPF TimePicker (SfTimePicker) control and more. -platform: WPF +platform: wpf control: SfTimePicker documentation: ug --- # Time Selector in WPF TimePicker (SfTimePicker) -The [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) is a sub-control of [SfTimePicker](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html) which opens inside the drop-down popup and used to select the time for the `SfTimePicker`. It contains the hour, minutes and meridiem selection cells for select the time. The selected time of the `SfTimeSelector` is assigned to the [SfTimePicker.Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) property. +The [SfTimeSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html) is a sub-control of [SfTimePicker](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html) which opens inside the drop-down popup and used to select the time for the `SfTimePicker`. It contains the hour, minutes and meridiem selection cells for selecting the time. The selected time of the `SfTimeSelector` is assigned to the [SfTimePicker.Value](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimePicker.html#Syncfusion_Windows_Controls_Input_SfTimePicker_Value) property. ![SfTimeSelector](Features_images/Features_img3.png) @@ -17,133 +17,145 @@ The visual elements of the time selector can be customized using the [SelectorSt ## Change the Cell templates -We can changes the template for the each hour, minute or meridiem selector by using the `HourCellTemplate`, `MinuteCellTemplate` or `MeridiemCellTemplate` which are available in the `SfTimeSelector`. +We can change the template for each hour, minute, or meridiem selector by using the `HourCellTemplate`, `MinuteCellTemplate` or `MeridiemCellTemplate` which are available in the `SfTimeSelector`. N> The DataContext of Hour, Minute, Meridiem Selection cell is [DateTimeWrapper](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Primitives.DateTimeWrapper.html). ## Change the HourCell Template -We can change the hour selector template by using the [HourCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html#Syncfusion_Windows_Controls_Input_SfTimeSelector_HourCellTemplate) property. In that, we can add like image, icon or text with the hour values. +We can change the hour selector template by using the [HourCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html#Syncfusion_Windows_Controls_Input_SfTimeSelector_HourCellTemplate) property. In it, we can add an image, icon, or text along with the hour values. {% highlight xaml %} - + - - - - + + + + + {% endhighlight %} -![SfSpellChecker with Hour cell template](Features_images/Features_img7.png) +![SfTimePicker with Hour cell template](Features_images/Features_img7.png) ## Change the MinuteCell Template -We can change the minute selector template by using the [MinuteCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html#Syncfusion_Windows_Controls_Input_SfTimeSelector_MinuteCellTemplate) property. In that, we can add like image, icon or text with the minute values. +We can change the minute selector template by using the [MinuteCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html#Syncfusion_Windows_Controls_Input_SfTimeSelector_MinuteCellTemplate) property. In it, we can add an image, icon, or text along with the minute values. {% highlight xaml %} - + - - - - + + + + + {% endhighlight %} -![SfSpellChecker with Minute cell template](Features_images/Features_img8.png) +![SfTimePicker with Minute cell template](Features_images/Features_img8.png) ## Change the MeridiemCell Template -We can change the meridiem selector template by using the [MeridiemCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html#Syncfusion_Windows_Controls_Input_SfTimeSelector_MeridiemCellTemplate) property.In that, we can add like image, icon or text with the meridiem values. +We can change the meridiem selector template by using the [MeridiemCellTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Controls.Input.SfTimeSelector.html#Syncfusion_Windows_Controls_Input_SfTimeSelector_MeridiemCellTemplate) property. In it, we can add an image, icon, or text along with the meridiem values. {% highlight xaml %} - + - - - - + + + + + {% endhighlight %} -![SfSpellChecker with Meridiem cell template](Features_images/Features_img9.png) +![SfTimePicker with Meridiem cell template](Features_images/Features_img9.png) ## Change size of cells @@ -152,13 +164,19 @@ We can change the cell size in the `SfTimeSelector` control by setting the [Sele {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.SelectorItemWidth = 60; sfTimePicker.SelectorItemHeight = 60; @@ -175,12 +193,18 @@ We can change the space between `SfTimeSelector` hour, minutes and meridiem item {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Controls.Input; + SfTimePicker sfTimePicker = new SfTimePicker(); sfTimePicker.SelectorItemSpacing = 50; From 48b99aa7c74dfa0c1e674662371550e39baf56b0 Mon Sep 17 00:00:00 2001 From: Paranthaman Palani Date: Fri, 10 Jul 2026 18:00:53 +0530 Subject: [PATCH 12/46] Enhanced the content using AI --- .../how-to-register-in-an-application.md | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/wpf/Licensing/how-to-register-in-an-application.md b/wpf/Licensing/how-to-register-in-an-application.md index 73a47210dc..93a972d4e7 100644 --- a/wpf/Licensing/how-to-register-in-an-application.md +++ b/wpf/Licensing/how-to-register-in-an-application.md @@ -1,15 +1,19 @@ --- layout: post title: Overview of Syncfusion license registration - Syncfusion -description: Learn here about how to register Syncfusion WPF license key for WPF application for license validation. +description: Learn how to register the Syncfusion license key in a WPF application for license validation. platform: wpf control: Essential Studio documentation: ug --- -# Register Syncfusion License key in WPF application +# Register Syncfusion license key in a WPF application -The generated license key is just a string that needs to be registered before any Syncfusion control is initiated. The following code is used to register the license. +To generate or obtain a license key, see [License key generation](https://www.syncfusion.com/account/licensing). + +N> **Prerequisites:** Install the Syncfusion WPF NuGet package (for example, `Syncfusion.Licensing.Wpf`, or the platform-specific control package that depends on it) from the Syncfusion NuGet feed, and ensure `Syncfusion.Licensing.dll` is referenced in your project. Licensing support is available in Syncfusion Essential Studio version 16.1.0.24 and later. + +The generated license key is a string that must be registered before any Syncfusion control is initialized. The `Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense` method takes the license-key string as its only parameter and returns `void`. The following code registers the license. {% tabs %} {% highlight c# %} @@ -17,14 +21,15 @@ Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY {% endhighlight %} {% endtabs %} -N> * Place the license key between double quotes. Also, ensure that Syncfusion.Licensing.dll is referenced in your project where the license key is being registered. -* Syncfusion license validation is done offline during application execution and does not require internet access. Apps registered with a Syncfusion license key can be deployed on any system that does not have an internet connection. +N> * Place the license key between double quotes. Also, ensure that Syncfusion.Licensing.dll is referenced in your project where the license key is being registered (see the package name in the Prerequisites note above). +* Syncfusion license validation is done offline during application execution and does not require internet access. Apps registered with a Syncfusion license key can be deployed on any system that does not have an internet connection. +* If the license key is missing or invalid at runtime, a license dialog or warning will appear. For troubleshooting common registration failures, refer to the [Licensing FAQ](https://help.syncfusion.com/wpf/licensing/licensing-faq). I> Syncfusion license keys can be validated during the Continuous Integration (CI) processes to ensure proper licensing and prevent licensing errors during deployment. Refer to the [CI License Validation](https://help.syncfusion.com/wpf/licensing/licensing-faq/ci-license-validation) section for detailed instructions on how to implement it. -### WPF +### Register in the App constructor -You can register the license key in App constructor of **App.xaml.cs** in C#. If App constructor not available in **App.xaml.cs**, create the "App()" constructor in **App.xaml.cs** and register the license key inside the constructor. In Visual Basic, register the license code in **App.xaml.vb**. +You can register the license key in the **App** constructor in **App.xaml.cs** (C#). If an **App** constructor is not available in **App.xaml.cs**, create an `App()` constructor in **App.xaml.cs** and register the license key inside it. In Visual Basic, register the license key in **App.xaml.vb**. {% tabs %} {% highlight c# %} @@ -40,7 +45,7 @@ public partial class App : Application {% highlight vb %} Private Sub New() - 'Register Syncfusion License + 'Register Syncfusion license key Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY") End Sub {% endhighlight %} From 9bb4fdce629724b0ad72a907c851d37ed204be01 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Fri, 10 Jul 2026 18:05:45 +0530 Subject: [PATCH 13/46] Added changes for calendar --- wpf/Calendar/Getting-Started.md | 144 +++++++++++++++++++++++--------- 1 file changed, 105 insertions(+), 39 deletions(-) diff --git a/wpf/Calendar/Getting-Started.md b/wpf/Calendar/Getting-Started.md index 3db7d52265..fa718eb97a 100644 --- a/wpf/Calendar/Getting-Started.md +++ b/wpf/Calendar/Getting-Started.md @@ -124,12 +124,17 @@ You can select a date in the `CalendarEdit` control by mouse click on the specif {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + CalendarEdit calendarEdit = new CalendarEdit(); {% endhighlight %} @@ -145,15 +150,20 @@ You can set selected date programmatically by setting the date value to the [Dat {% tabs %} {% highlight XAML %} - - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + //Selecting date programmatically -calendarEdit.Date = new DateTime(2020, 08, 25); +this.calendarEdit.Date = new DateTime(2020, 08, 25); {% endhighlight %} {% endtabs %} @@ -170,15 +180,20 @@ You can select multiple dates by drag and move the mouse from required start dat {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + //Selecting multiple dates -calendarEdit.AllowMultiplySelection = true; +this.calendarEdit.AllowMultiplySelection = true; {% endhighlight %} {% endtabs %} @@ -194,22 +209,28 @@ You can select a multiple dates programmatically by setting the dates to the [Se {% tabs %} {% highlight XAML %} - - + + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + //Selecting multiple date programmatically -calendarEdit.AllowMultiplySelection = true; -calendarEdit.SelectedDatesList = new List(); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 01)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 05)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 10)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 15)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 20)); -calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 29)); +this.calendarEdit.AllowMultiplySelection = true; +this.calendarEdit.SelectedDatesList = new List(); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 01)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 05)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 10)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 15)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 20)); +this.calendarEdit.SelectedDatesList.Add(new Date(2020, 08, 29)); {% endhighlight %} {% endtabs %} @@ -223,14 +244,19 @@ You can restrict the users from selecting a date within the particular range by {% tabs %} {% highlight xaml %} - - + + {% endhighlight %} {% highlight c# %} +using Syncfusion.Windows.Shared; + CalendarEdit calendarEdit = new CalendarEdit(); calendarEdit.MinDate = new DateTime(2020, 05, 01); calendarEdit.MaxDate = new DateTime(2020, 05, 10); @@ -249,22 +275,28 @@ If you want to block particular dates from the date selection, add that date ran {% tabs %} {% highlight xaml %} - - - - - - + + + + + + + + {% endhighlight %} {% highlight c# %} -calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { +using Syncfusion.Windows.Shared; + +this.calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { StartDate = new DateTime(2020, 07, 03), EndDate = new DateTime(2020, 07, 07)}); -calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { +this.calendarEdit.BlackoutDates.Add(new BlackoutDatesRange() { StartDate = new DateTime(2020, 07, 22), EndDate = new DateTime(2020, 07, 25)}); @@ -300,6 +332,9 @@ public class ViewModel { {% tabs %} {% highlight XAML %} + @@ -333,7 +368,8 @@ public class ViewModel { SpecialDates="{Binding SpecialDates}" Name="calendarEdit" /> - + + {% endhighlight %} {% endtabs %} @@ -348,13 +384,18 @@ If you want to know the week number of the currently displayed dates, use the [S {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + //Shows week numbers calendarEdit.ShowWeekNumbers = true; @@ -375,12 +416,18 @@ You can change the default calendar view as week numbers, month, years or years {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + calendarEdit.VisualMode = CalendarVisualMode.YearsRange; {% endhighlight %} @@ -397,13 +444,18 @@ You can change the culture for `CalendarEdit` control by setting the required cu {% tabs %} {% highlight XAML %} - - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + //Setting french culture calendarEdit.Culture = new CultureInfo("fr-FR"); @@ -419,13 +471,19 @@ You can display full month names and week day names by setting the [ShowAbbrevia {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + CalendarEdit calendarEdit = new CalendarEdit(); calendarEdit.ShowAbbreviatedDayNames = false; calendarEdit.ShowAbbreviatedMonthNames = false; @@ -444,6 +502,8 @@ You can set tooltip for particular days in the `CalendarEdit` control by using t {% tabs %} {% highlight C# %} +using Syncfusion.Windows.Shared; + Date yesterday = new Date(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day-1); Date today = new Date(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); CalendarEdit calendarEdit = new CalendarEdit(); @@ -464,12 +524,18 @@ The selected date changed in `CalendarEdit` can be examined using [DateChanged]( {% tabs %} {% highlight XAML %} - + + {% endhighlight %} {% highlight C# %} +using Syncfusion.Windows.Shared; + CalendarEdit calendarEdit = new CalendarEdit(); calendarEdit.DateChanged += CalendarEdit_DateChanged; From 48d38c8887de88cbb47436fb30b6c10a449e141c Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Mon, 13 Jul 2026 10:34:09 +0530 Subject: [PATCH 14/46] Task(1036752): Updated UG revamp work for WPF scheduler control. --- wpf/Scheduler/Accessibility.md | 2 +- wpf/Scheduler/Appointment-Drag-And-Drop.md | 24 +- wpf/Scheduler/Appointment-Editing.md | 40 +- wpf/Scheduler/Appointments.md | 443 ++++++++----- wpf/Scheduler/Calendar-Types.md | 18 +- wpf/Scheduler/ContextMenu-Commands.md | 55 +- wpf/Scheduler/Date-Navigations.md | 125 +++- wpf/Scheduler/DaysView.md | 447 ++++++++----- wpf/Scheduler/Events.md | 123 +++- wpf/Scheduler/Getting-Started.md | 145 ++++- wpf/Scheduler/Header.md | 78 ++- wpf/Scheduler/LoadOnDemand.md | 26 +- wpf/Scheduler/Localization.md | 2 +- ...igrating-from-SfSchedule-to-SfScheduler.md | 10 +- wpf/Scheduler/Month-View.md | 600 +++++++++++------- wpf/Scheduler/Overview.md | 2 +- wpf/Scheduler/Reminder.md | 104 ++- wpf/Scheduler/Resource-Grouping.md | 280 +++++--- wpf/Scheduler/Time-Zone.md | 14 +- wpf/Scheduler/TimelineView.md | 418 +++++++----- 20 files changed, 1970 insertions(+), 986 deletions(-) diff --git a/wpf/Scheduler/Accessibility.md b/wpf/Scheduler/Accessibility.md index ad4579e6d4..3c4841a6ef 100644 --- a/wpf/Scheduler/Accessibility.md +++ b/wpf/Scheduler/Accessibility.md @@ -382,7 +382,7 @@ Moves the view to work week view.

Ctrl + Alt + 4 => MonthView

-Moves the view to work week view.

+Moves the view to work month view.

Ctrl + Alt + 5 => TimelineDayView

diff --git a/wpf/Scheduler/Appointment-Drag-And-Drop.md b/wpf/Scheduler/Appointment-Drag-And-Drop.md index 6c8d708614..0f517fb54e 100644 --- a/wpf/Scheduler/Appointment-Drag-And-Drop.md +++ b/wpf/Scheduler/Appointment-Drag-And-Drop.md @@ -14,11 +14,19 @@ The Scheduler supports disabling the appointment drag and drop by setting [Appoi {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.AppointmentEditFlag = AppointmentEditFlag.Add | AppointmentEditFlag.Edit | AppointmentEditFlag.Resize; {% endhighlight %} {% endtabs %} @@ -28,6 +36,8 @@ Show or hide the time indicator at a specific time when dragging the appointment {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DragDropSettings.ShowTimeIndicator = true; {% endhighlight %} @@ -44,6 +54,8 @@ Customize the format for the appointment dragging time indicator format by setti {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DragDropSettings.TimeIndicatorFormat = "HH mm tt"; {% endhighlight %} @@ -68,6 +80,8 @@ Scheduler notifies by [AppointmentDragOver](https://help.syncfusion.com/cr/wpf/S {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.AppointmentDragOver += Schedule_AppointmentDragOver; private void Schedule_AppointmentDragOver(object sender, AppointmentDragEventArgs e) @@ -89,6 +103,8 @@ Scheduler notifies by [AppointmentDragStarting](https://help.syncfusion.com/cr/w {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.AppointmentDragStarting += Schedule_AppointmentDragStarting; private void Schedule_AppointmentDragStarting(object sender, AppointmentDragStartingEventArgs e) @@ -114,6 +130,8 @@ Scheduler is notified by [AppointmentDropping](https://help.syncfusion.com/cr/wp {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.AppointmentDropping += Schedule_AppointmentDropping; private void Schedule_AppointmentDropping(object sender, AppointmentDroppingEventArgs e) @@ -123,4 +141,4 @@ private void Schedule_AppointmentDropping(object sender, AppointmentDroppingEven {% endhighlight %} {% endtabs %} -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. For more information on appointment editing flags, see [Appointment editing](appointment-editing.md). \ No newline at end of file diff --git a/wpf/Scheduler/Appointment-Editing.md b/wpf/Scheduler/Appointment-Editing.md index 9179dda31f..d6fef73ff8 100644 --- a/wpf/Scheduler/Appointment-Editing.md +++ b/wpf/Scheduler/Appointment-Editing.md @@ -31,8 +31,6 @@ Scheduler supports editing the recurrence appointment. The following window will ![WPF Scheduler editing recurrence appointment](Appointment-Editing_Images/Editing-Recurrence-Appointment.png) -Handle the opening of the recurrence popup window using the `EditMode` property in the `RecurringAppointmentBeginningEditEventArgs` by handling the `RecurringAppointmentBeginningEdit` event. - #### RecurringAppointmentBeginningEdit Event The opening of the recurrence popup editor dialog can be handled using the `EditMode` property in the `RecurringAppointmentBeginningEditEventArgs` by handling the `RecurringAppointmentBeginningEdit` event. @@ -44,7 +42,9 @@ The opening of the recurrence popup editor dialog can be handled using the `Edit * Series: Edit the entire series in a recurrence appointment. The default editor content dialog will not appear. {% tabs %} -{% highlight c# tabtitle="MainWindow.xaml.cs" hl_lines="1" %} +{% highlight c# tabtitle="MainWindow.xaml.cs" hl_lines="3" %} +using Syncfusion.UI.Xaml.Scheduler; + this.scheduler.RecurringAppointmentBeginningEdit += scheduler_RecurringAppointmentBeginningEdit; private void scheduler_RecurringAppointmentBeginningEdit(object sender, RecurringAppointmentBeginningEditEventArgs e) @@ -70,6 +70,8 @@ For example, to use a custom appointment editor window instead of the default ap {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.AppointmentEditorOpening += Schedule_AppointmentEditorOpening; private void Schedule_AppointmentEditorOpening(object sender, AppointmentEditorOpeningEventArgs e) @@ -95,6 +97,8 @@ Programmatically visible or collapse the editors by setting the [AppointmentEdit {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.AppointmentEditorOpening += Schedule_AppointmentEditorOpening; private void Schedule_AppointmentEditorOpening(object sender, AppointmentEditorOpeningEventArgs e) @@ -131,6 +135,8 @@ For example, to handle the appointment adding for today's date, user can handle {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.AppointmentEditorClosing += Schedule_AppointmentEditorClosing; private void Schedule_AppointmentEditorClosing(object sender, AppointmentEditorClosingEventArgs e) @@ -152,10 +158,16 @@ To disable appointment editing functionality, set [AppointmentEditFlag](https:// {% tabs %} {% highlight XAML %} - + + + + {% endhighlight %} {% endtabs %} @@ -181,6 +193,8 @@ Scheduler notifies by [AppointmentDeleting](https://help.syncfusion.com/cr/wpf/S {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.AppointmentDeleting += Schedule_AppointmentDeleting; private void Schedule_AppointmentDeleting(object sender, AppointmentDeletingEventArgs e) @@ -199,12 +213,20 @@ Scheduler supports disabling the appointment resizing by setting [AppointmentEdi {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c# %} - this.Schedule.AppointmentEditFlag = AppointmentEditFlag.Add | AppointmentEditFlag.DragDrop | AppointmentEditFlag.Edit; +using Syncfusion.UI.Xaml.Scheduler; + +this.Schedule.AppointmentEditFlag = AppointmentEditFlag.Add | AppointmentEditFlag.DragDrop | AppointmentEditFlag.Edit; {% endhighlight %} {% endtabs %} @@ -232,6 +254,8 @@ Scheduler notifies by [AppointmentResizing](https://help.syncfusion.com/cr/wpf/S {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.AppointmentResizing += Schedule_AppointmentResizing; private void Schedule_AppointmentResizing(object sender, AppointmentResizingEventArgs e) @@ -242,4 +266,4 @@ this.Schedule.AppointmentResizing += Schedule_AppointmentResizing; {% endtabs %} * `Resource` - gets the resource of an appointment under which the appointment is located. -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. For details on the appointment editor window, see [Appointments](appointments.md). \ No newline at end of file diff --git a/wpf/Scheduler/Appointments.md b/wpf/Scheduler/Appointments.md index 20ad26b025..f98f949c2e 100644 --- a/wpf/Scheduler/Appointments.md +++ b/wpf/Scheduler/Appointments.md @@ -14,12 +14,20 @@ The [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml. {%tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for schedule appointment collection var scheduleAppointmentCollection = new ScheduleAppointmentCollection(); //Adding schedule appointment in the schedule appointment collection @@ -89,6 +97,9 @@ Create a custom class `Meeting` with mandatory fields `From`, `To` and `EventNam {% tabs %} {% highlight c# %} +using System; +using System.Windows.Media; + /// /// Represents the custom data properties. /// @@ -105,20 +116,28 @@ public class Meeting N> You can map those properties of the `Meeting` class to schedule appointment by using the `AppointmentMapping` properties. {%tabs %} {% highlight xaml %} - + + - - - - + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + //Schedule data mapping for custom appointments AppointmentMapping dataMapping = new AppointmentMapping(); dataMapping.Subject = "EventName"; @@ -134,6 +153,8 @@ Schedule the meetings for a day by setting `From` and `To` of the Meeting class. {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + //Creating an instance for the custom appointment class Meeting meeting = new Meeting(); //Setting the start time of an event @@ -165,21 +186,29 @@ Spanned Appointment is an appointment that lasts more than 24 hours. It doesn’ {%tabs %} {% highlight xaml %} - + + - - - - - + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for the collection of custom appointments var Meetings = new ObservableCollection(); // Creating an instance for the custom appointment class @@ -196,7 +225,7 @@ meeting.BackgroundColor = new SolidColorBrush(Colors.SlateBlue); meeting.ForegroundColor = new SolidColorBrush(Colors.White); // Adding a custom appointment in the CustomAppointmentCollection Meetings.Add(meeting); -//Adding schedule appointment collection to the ItemsSource of SfSchedule +//Adding schedule appointment collection to the ItemsSource of SfScheduler Schedule.ItemsSource = Meetings; {% endhighlight %} {% endtabs%} @@ -212,12 +241,20 @@ The all-Day appointment is an appointment that is scheduled for a whole day. It {%tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for schedule appointment collection var scheduleAppointmentCollection = new ScheduleAppointmentCollection(); //Adding schedule appointment in the schedule appointment collection @@ -275,12 +312,20 @@ The SfScheduler appointment recurrenceRule is used to populate the required recu {%tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for schedule appointment collection var scheduleAppointmentCollection = new ScheduleAppointmentCollection(); //Adding schedule appointment in schedule appointment collection @@ -311,6 +356,9 @@ For creating the custom recurrence appointment, create a custom class `Meeting` {% tabs %} {% highlight c# %} +using System; +using System.Windows.Media; + /// /// Represents custom data properties. /// @@ -331,21 +379,29 @@ N> Map those properties of Meeting class to schedule appointment by using the `A {%tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + //Schedule data mapping for custom appointments AppointmentMapping dataMapping = new AppointmentMapping(); dataMapping.Subject = "EventName"; @@ -363,6 +419,8 @@ Schedule the recurring meetings for daily, weekly, monthly, or yearly interval b {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for the custom appointment class Meeting meeting = new Meeting(); // Setting the start time of an event @@ -383,7 +441,7 @@ meeting.RecurrenceRule = "FREQ=DAILY;INTERVAL=1;COUNT=10"; var Meetings = new ObservableCollection(); // Adding a custom appointment in CustomAppointmentCollection Meetings.Add(meeting); -// Adding custom appointments in ItemsSource of SfSchedule +// Adding custom appointments in ItemsSource of SfScheduler Schedule.ItemsSource = Meetings; {% endhighlight %} {% endtabs %} @@ -395,6 +453,8 @@ Get the Recurrence properties from the [RRULE](https://help.syncfusion.com/cr/wp {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + DateTime dateTime = new DateTime(2020, 6, 30, 10, 0, 0); RecurrenceProperties recurrenceProperties = RecurrenceHelper.RRuleParser("FREQ=DAILY;INTERVAL=1;COUNT=3", dateTime); {% endhighlight %} @@ -411,6 +471,8 @@ Get the occurrences date-time list of recurring appointment from the RRULE using {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + DateTime dateTime = new DateTime(2020, 6, 27, 9, 0, 0); IEnumerable dateCollection = RecurrenceHelper.GetRecurrenceDateTimeCollection("FREQ=DAILY;INTERVAL=1;COUNT=3", dateTime); {% endhighlight %} @@ -427,6 +489,8 @@ Gets the pattern appointment for the specified occurrence. To get the pattern appointment by using the following event and passing a parameter as `Scheduler` and Specified `Appointment`. {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.AppointmentTapped += Schedule_AppointmentTapped; private void Schedule_AppointmentTapped(object sender, AppointmentTappedArgs e) @@ -450,6 +514,8 @@ To get a specific appointment by using the following event and passing a paramet {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.AppointmentTapped += Schedule_AppointmentTapped; private void Schedule_AppointmentTapped(object sender, AppointmentTappedArgs e) @@ -481,12 +547,20 @@ Delete any of occurrence which is exception from recurrence pattern appointment {%tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for schedule appointment collection var scheduleAppointmentCollection = new ScheduleAppointmentCollection(); @@ -527,12 +601,18 @@ Add an exception appointment which is changed or modified occurrence of the recu {%tabs %} {% highlight xaml %} - - + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for schedule appointment collection var appointmentCollection = new ScheduleAppointmentCollection(); // Recurrence and exception appointment @@ -594,6 +674,9 @@ To add the exception dates in the recurrence series of custom appointment, add t {% tabs %} {% highlight c# %} +using System; +using System.Windows.Media; + public class Meeting { public ObservableCollection RecurrenceExceptions { get; set; } = new ObservableCollection(); @@ -613,27 +696,33 @@ Map this custom property `RecurrenceExceptionDates` of custom class with the `Re {% tabs %} {% highlight xaml %} - - - + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for custom appointment collection ObservableCollection customAppointmentCollection = new ObservableCollection(); // data mapping for custom appointments. @@ -689,23 +778,29 @@ public ObservableCollection RecursiveAppointmentCollection {% tabs %} {% highlight xaml %} - - - - - + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.RecursiveAppointmentCollection = new ObservableCollection(); //Adding custom appointment in the custom appointment collection Meeting dailyEvent = new Meeting @@ -765,11 +860,17 @@ To enable tooltip for the scheduler appointments, use the [EnableToolTip](https: {% tabs %} {% highlight xaml %} - - + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.EnableToolTip = true; {% endhighlight %} {% endtabs %} @@ -784,56 +885,60 @@ The following code example shows the usage of DataTemplate. {% tabs %} {% highlight xaml %} - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -847,29 +952,33 @@ N> The default appearance of schedule appointment can be customized in all the views by using the [AppointmentTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ViewSettingsBase.html#Syncfusion_UI_Xaml_Scheduler_ViewSettingsBase_AppointmentTemplate) and [AppointmentTemplateSelector](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ViewSettingsBase.html#Syncfusion_UI_Xaml_Scheduler_ViewSettingsBase_AppointmentTemplateSelector) properties of [ViewSettingsBase](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ViewSettingsBase.html). Use the [AllDayAppointmentTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DaysViewSettings.html#Syncfusion_UI_Xaml_Scheduler_DaysViewSettings_AllDayAppointmentTemplate) property of [DaysViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DaysViewSettings.html) to customize the appearance of all day appointments in day, week and work week views. {% tabs %} {% highlight xaml %} - - - - - - - - - - - - - + + + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -886,13 +995,17 @@ You can customize the appointment selection border brush by using the [Selection {% tabs %} {% highlight xaml %} - - - + + + + + {% endhighlight %} {% endtabs %} diff --git a/wpf/Scheduler/Calendar-Types.md b/wpf/Scheduler/Calendar-Types.md index b50582985e..c004563fc9 100644 --- a/wpf/Scheduler/Calendar-Types.md +++ b/wpf/Scheduler/Calendar-Types.md @@ -45,10 +45,18 @@ N> {% tabs %} {% highlight xaml %} - + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.CalendarIdentifier = "HijriCalendar"; {% endhighlight %} {% endtabs %} @@ -63,6 +71,8 @@ All the DateTime values can be given such as [DisplayDate,](https://help.syncfus {% capture codesnippet1 %} {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for the schedule appointment collection. var appointments = new ScheduleAppointmentCollection(); @@ -87,6 +97,8 @@ this.scheduler.ItemsSource = appointments; {% capture codesnippet2 %} {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating an instance for the schedule appointment collection. var appointments = new ScheduleAppointmentCollection(); @@ -106,4 +118,4 @@ this.scheduler.ItemsSource = appointments; {% endcapture %} {{ codesnippet2 | UnOrderList_Indent_Level_1 }} -N> [View sample in GitHub](https://github.com/SyncfusionExamples/WPF-Scheduler-Examples/tree/main/CalendarTypes) \ No newline at end of file +N> [View sample in GitHub](https://github.com/SyncfusionExamples/WPF-Scheduler-Examples/tree/main/CalendarTypes). For more information on appointments, see [Appointments](appointments.md). \ No newline at end of file diff --git a/wpf/Scheduler/ContextMenu-Commands.md b/wpf/Scheduler/ContextMenu-Commands.md index 080bf0d58a..b76337a8f9 100644 --- a/wpf/Scheduler/ContextMenu-Commands.md +++ b/wpf/Scheduler/ContextMenu-Commands.md @@ -29,14 +29,20 @@ that contains the Appointment or DateTime of the corresponding cell. {% tabs %} {% highlight xaml %} - - - - - - - - + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -55,23 +61,28 @@ that contains the Appointment or DateTime of the corresponding cell. * In the month view, the `AppointmentContextMenu` opens when the [MonthViewSettings.AppointmentDisplayMode](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.MonthViewSettings.html#Syncfusion_UI_Xaml_Scheduler_MonthViewSettings_AppointmentDisplayMode) is set to `AppointmentDisplayMode.Appointment.`. * To enable the touch context menu for appointments in the scheduler, by disabling the appointment drag and drop by setting the [AppointmentEditFlag](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentEditFlag) property except for DragDrop. In this case, the appointment drag & drop cannot be performed. The [AppointmentContextMenu](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_AppointmentContextMenu) will be displayed only on appointments and the appointment selection, should be performed. - {% tabs %} {% highlight xaml %} - - - - + + + + + - - - - - - + + + + + + + + {% endhighlight %} {% endtabs %} @@ -90,4 +101,4 @@ The [SchedulerContextMenuInfo](https://help.syncfusion.com/cr/wpf/Syncfusion.UI. * `ContextMenu` – It represents a shortcut context menu that is being opened. -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. For more information on appointment editing, see [Appointment editing](appointment-editing.md). diff --git a/wpf/Scheduler/Date-Navigations.md b/wpf/Scheduler/Date-Navigations.md index 3aa5b7f33a..17ca3c8b95 100644 --- a/wpf/Scheduler/Date-Navigations.md +++ b/wpf/Scheduler/Date-Navigations.md @@ -17,11 +17,19 @@ Visible dates can be restricted between a certain range of dates, using [Maximum {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.MinimumDate = new DateTime(2020, 05, 05, 10, 0, 0); {% endhighlight %} {% endtabs %} @@ -31,11 +39,19 @@ this.Schedule.MinimumDate = new DateTime(2020, 05, 05, 10, 0, 0); {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.MaximumDate = new DateTime(2020, 10, 05, 10, 0, 0); {% endhighlight %} {% endtabs %} @@ -45,11 +61,19 @@ Programmatically navigate the dates in scheduler by using the [DisplayDate](http {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.DisplayDate = new DateTime(2020, 07, 05, 10, 0, 0); {% endhighlight %} {% endtabs %} @@ -61,11 +85,19 @@ Programmatically select the dates in scheduler by using the [SelectedDate](https {% tabs %} {% highlight xaml %} - - + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.SelectedDate = new DateTime(2020, 07, 10, 10, 0, 0); {% endhighlight %} {% endtabs %} @@ -80,16 +112,24 @@ Use the `Forward` method of SfScheduler for viewing the next immediate visible d {% tabs %} {% highlight xaml %} - - - - + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Forward_Click(object sender, RoutedEventArgs e) { Schedule.Forward(); @@ -102,16 +142,20 @@ Use the `Backward` method of SfScheduler for viewing the previous immediate visi {% tabs %} {% highlight xaml %} - - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Backward_Click(object sender, RoutedEventArgs e) { Schedule.Backward(); @@ -125,12 +169,19 @@ You can quickly navigate to the respective day or timeline day view by single-cl {% tabs %} {% highlight xaml %} - - -{% endhighlight %} + + + + + + {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Week; this.Schedule.AllowViewNavigation = true; {% endhighlight %} @@ -145,12 +196,20 @@ You can enable the date picker for the scheduler by using the [ShowDatePickerBut {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Week; this.Schedule.ShowDatePickerButton = true; {% endhighlight %} @@ -165,14 +224,22 @@ You can quickly navigate to the different scheduler views by using the [AllowedV {% tabs %} {% highlight xaml %} - + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Week; this.Schedule.AllowedViewTypes = AllowedSchedulerViewTypes.Week | AllowedSchedulerViewTypes.WorkWeek | AllowedSchedulerViewTypes.Day | AllowedSchedulerViewTypes.Month | AllowedSchedulerViewTypes.TimelineDay | AllowedSchedulerViewTypes.TimelineMonth | AllowedSchedulerViewTypes.TimelineWeek | AllowedSchedulerViewTypes.TimelineWorkWeek; {% endhighlight %} {% endtabs %} -N> [View sample in GitHub](https://github.com/SyncfusionExamples/WPF-Scheduler-Examples/tree/main/AllowedViews) \ No newline at end of file +N> [View sample in GitHub](https://github.com/SyncfusionExamples/WPF-Scheduler-Examples/tree/main/AllowedViews). For week number configuration, see [Month view](month-view.md). \ No newline at end of file diff --git a/wpf/Scheduler/DaysView.md b/wpf/Scheduler/DaysView.md index 1f52f9b1b1..74c340bb27 100644 --- a/wpf/Scheduler/DaysView.md +++ b/wpf/Scheduler/DaysView.md @@ -14,6 +14,8 @@ documentation: ug Customize the interval of timeslots in all the day, week, work week views by using the [TimeInterval](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeInterval) property of [DaysViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_DaysViewSettings). {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.TimeInterval = new System.TimeSpan(0, 120, 0); {% endhighlight %} @@ -27,14 +29,22 @@ N>If the timeInterval value is modified (in minutes), the time labels format nee Customize the interval height of timeslots in day, week, work week views by setting [TimeIntervalSize](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeIntervalSize) property of [DaysViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_DaysViewSettings). {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.TimeIntervalSize = 120; {% endhighlight %} @@ -47,15 +57,23 @@ The default values for [StartHour](https://help.syncfusion.com/cr/wpf/Syncfusion {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.StartHour = 8; Schedule.DaysViewSettings.EndHour = 15; @@ -77,21 +95,29 @@ N> The [AllowSpannedAppointmentsInTimeSlots](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DaysViewSettings.html#Syncfusion_UI_Xaml_Scheduler_DaysViewSettings_AllowSpannedAppointmentsInTimeSlots) property determines whether appointments spanning more than 24 hours are displayed in the all-day panel or directly within the timeslot cells of the `Day`, `Week`, and `WorkWeek` views. By default, these appointments are rendered in the all-day panel. Setting `AllowSpannedAppointmentsInTimeSlots` to `true` displays spanned appointments within the corresponding time-slot cells. {% tabs %} -{% highlight XAML tabtitle="XAML" hl_lines="4" %} - + + - - - - + + + + + + {% endhighlight %} -{% highlight C# tabtitle="C#" hl_lines="3" %} +{% highlight C# tabtitle="C#" hl_lines="5" %} +using Syncfusion.UI.Xaml.Scheduler; + SfScheduler scheduler = new SfScheduler(); scheduler.ViewType = SchedulerView.Week; scheduler.DaysViewSettings.AllowSpannedAppointmentsInTimeSlots = true; this.Content = scheduler; {% endhighlight %} -{% endtabs %} +{% endtabs %} ## Special time regions Restrict the user interaction such as selection and highlights specific regions of time in day, week, work week views by adding the [SpecialTimeRegions](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_SpecialTimeRegions) property of `SfScheduler`. Set the [StartTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_StartTime) and [EndTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_EndTime) properties of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html) to create a `SpecialTimeRegion`, use the timeZone property to set the specific timezone for the start and end time of `SpecialTimeRegion`. The `SpecialTimeRegion` will display the text or image that is set to the text or icon property of `SpecialTimeRegion`. @@ -102,23 +128,31 @@ Enable merging adjacent regions of `SpecialTimeRegion` and show them as a single Enable or disable the touch interaction of `SpecialTimeRegion` using the [CanEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_CanEdit) property of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#properties). By default, its value is true. {% tabs %} {% highlight xaml %} - - - - - - - - - + + + + + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.DaysViewSettings.SpecialTimeRegions.Add(new SpecialTimeRegion { StartTime = new System.DateTime(2020,12,15,13,0,0), @@ -149,23 +183,31 @@ Enable merging adjacent regions of `SpecialTimeRegion` and show them as a single {% tabs %} {% highlight xaml %} - - - - - - - - - + + + + + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.SpecialTimeRegions.Add(new SpecialTimeRegion { @@ -190,6 +232,8 @@ If the [CanMergeAdjacentRegions](https://help.syncfusion.com/cr/wpf/Syncfusion.U Delete any of the occurrence that is an exception from the recurrence pattern time region by using the [RecurrenceExceptionDates](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_RecurrenceExceptionDates) property of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#properties). The deleted occurrence date will be considered as a recurrence exception date. {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; DateTime recurrenceExceptionDates = DateTime.Now.Date.AddDays(-1); DateTime recurrenceExceptionDates1 = DateTime.Now.Date.AddDays(2); @@ -222,36 +266,46 @@ The [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Sc The `SpecialTimeRegion` background color can be customized by using the [Background](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_Background) and [SpecialTimeRegionTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_SpecialTimeRegionTemplate) properties of [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html) that is used to customize the text style and image of the `SpecialTimeRegion`. {% tabs %} {% highlight xaml %} - - - - - - - + + + + + + + + + {% endhighlight %} {% endtabs %} {% tabs %} {% highlight xaml %} - - - - - - - - + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -265,14 +319,22 @@ The [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Sc Scheduler time interval height can be adjusted based on screen height by changing the value of `TimeIntervalSize` property to -1. It will auto-fit to the screen height and width. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.TimeIntervalSize = -1; {% endhighlight %} @@ -284,15 +346,23 @@ Schedule.DaysViewSettings.TimeIntervalSize = -1; Customize the size of the time ruler view where the labels mentioning the time are placed by using the [TimeRulerSize](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeRulerSize) property of `DayViewSettings`. {% tabs %} {% highlight xaml %} - - - - - - + + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.TimeRulerSize = 100; {% endhighlight %} @@ -304,6 +374,8 @@ Schedule.DaysViewSettings.TimeRulerSize = 100; The [MinimumAppointmentDuration](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_MinimumAppointmentDuration) property in `DayViewSettings` is to set an arbitrary height to appointments when it has minimum duration in day, week, work week views, so that the subject can be readable. {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.MinimumAppointmentDuration = new System.TimeSpan(0, 120, 0); {% endhighlight %} @@ -320,13 +392,21 @@ You can customize the number of appointments displayed in an all-day panel using {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Week; this.Schedule.DaysViewSettings.MinimumAllDayAppointmentsCount = 3; {% endhighlight %} @@ -337,19 +417,25 @@ You can customize the default appearance of more appointments indicator in the a {% tabs %} {% highlight xaml %} - - - - - - - - - - - - + + + + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -359,6 +445,8 @@ You can customize the default appearance of more appointments indicator in the a Customize the format for the labels mentioning the time, by setting the [TimeRulerFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeRulerFormat) property of `DayViewSettings` in `Scheduler`. {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.TimeRulerFormat = "hh mm"; Schedule.DaysViewSettings.TimeInterval = new System.TimeSpan(0, 30, 0); @@ -370,6 +458,7 @@ Schedule.DaysViewSettings.TimeInterval = new System.TimeSpan(0, 30, 0); N> * You can customize the appointment editor time format based on scheduler time ruler format and culture. * By default, the scheduler time ruler format is `h tt` and the appointment editor time picker format is `hh:mm tt.` +* For information on related scheduler events like `CellTapped`, `SelectionChanged`, and `ViewChanged`, see [Events](events.md). For timeline view configuration, see [Timeline views](timelineview.md). ## View header Customize the default appearance of view header in day, week, work week views by setting [ViewHeaderDateFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_ViewHeaderDateFormat), [ViewHeaderHeight](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ViewSettingsBase.html#Syncfusion_UI_Xaml_Scheduler_ViewSettingsBase_ViewHeaderHeight), [ViewHeaderDayFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ViewSettingsBase.html#Syncfusion_UI_Xaml_Scheduler_ViewSettingsBase_ViewHeaderDayFormat) and [ViewHeaderTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ViewSettingsBase.html#Syncfusion_UI_Xaml_Scheduler_ViewSettingsBase_ViewHeaderTemplate) of `DaysViewSettings`. @@ -378,15 +467,23 @@ Customize the default appearance of view header in day, week, work week views by Customize the date and day format of ViewHeader by using the `ViewHeaderDateFormat` and `ViewHeaderDayFormat` properties of `DaysViewSettings`. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.ViewHeaderDateFormat = "dd"; Schedule.DaysViewSettings.ViewHeaderDayFormat = "dddd"; @@ -398,14 +495,22 @@ Schedule.DaysViewSettings.ViewHeaderDayFormat = "dddd"; Customize the height of the ViewHeader in a day ,week ,work week views by setting `ViewHeaderHeight` property of `DaysViewSettings` in `SfScheduler`. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.Week; Schedule.DaysViewSettings.ViewHeaderHeight = 100; {% endhighlight %} @@ -416,43 +521,55 @@ Schedule.DaysViewSettings.ViewHeaderHeight = 100; Customize the default appearance of view header by setting `ViewHeaderTemplate` property of `DaysViewSettings` in `SfScheduler`. {% tabs %} {% highlight xaml %} - - - - - - - - + + + + + + + + + + + + {% endhighlight %} {% endtabs %} {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -463,15 +580,23 @@ Customize the default appearance of view header by setting `ViewHeaderTemplate` To enhance interaction with a scheduler's appointments, you can customize the spacing between appointments and the right border of their cells using the [CellRightPadding](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DaysViewSettings.html#Syncfusion_UI_Xaml_Scheduler_DaysViewSettings_CellRightPadding) property of [DayViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.DaysViewSettings.html) in the [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html). {% tabs %} -{% highlight xaml hl_lines="4" %} - + + - - - - + + + + + + {% endhighlight %} -{% highlight c# hl_lines="2" %} +{% highlight c# hl_lines="4" %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Week; this.Schedule.DaysViewSettings.CellRightPadding = 30; {% endhighlight %} @@ -483,4 +608,4 @@ N> * This customization will apply only when the scheduler has an appointment. -N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to knows how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. +N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file diff --git a/wpf/Scheduler/Events.md b/wpf/Scheduler/Events.md index 142324cef7..8fcfe79d59 100644 --- a/wpf/Scheduler/Events.md +++ b/wpf/Scheduler/Events.md @@ -32,12 +32,20 @@ The [CellTappedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Scheduler_CellTapped(object sender, CellTappedEventArgs e) { var dateTime = e.DateTime.ToString(); @@ -51,12 +59,20 @@ The [CellDoubleTapped](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Sch {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Scheduler_CellDoubleTapped(object sender, CellDoubleTappedEventArgs e) { var dateTime = e.DateTime.ToString(); @@ -70,12 +86,20 @@ The [CellLongPressed](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Sche {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Schedule_CellLongPressed(object sender, CellLongPressedEventArgs e) { var dateTime = e.DateTime.ToString(); @@ -89,12 +113,20 @@ The [SelectionChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Sch {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Schedule_SelectionChanged(object sender, SelectionChangedEventArgs e) { var newdate = e.NewValue.ToString(); @@ -125,12 +157,20 @@ The [SelectionChanging](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.S {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Schedule_SelectionChanging(object sender, SelectionChangingEventArgs e) { var newdate = e.NewValue.ToString(); @@ -153,14 +193,21 @@ The [ViewChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Schedule * [OldValue](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ViewChangedEventArgs.html#Syncfusion_UI_Xaml_Scheduler_ViewChangedEventArgs_OldValue) : Returns the old date range of the view. {% tabs %} -{% highlight xaml tabtitle="MainPage.xaml" hl_lines="2" %} +{% highlight xaml tabtitle="MainPage.xaml" hl_lines="6" %} - + + - + + + {% endhighlight %} -{% highlight c# tabtitle="MainPage.xaml.cs" hl_lines="1" %} +{% highlight c# tabtitle="MainPage.xaml.cs" hl_lines="3" %} +using Syncfusion.UI.Xaml.Scheduler; this.Scheduler.ViewChanged += this.OnSchedulerViewChanged; @@ -184,12 +231,20 @@ The [ViewHeaderCellTappedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusi {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Schedule_ViewHeaderCellTapped(object sender, ViewHeaderCellTappedEventArgs e) { var dateTime = e.DateTime.ToString(); @@ -207,12 +262,20 @@ The [HeaderTappedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xa {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Schedule_HeaderTapped(object sender, HeaderTappedEventArgs e) { var dateTime = e.DateTime.ToString(); @@ -232,12 +295,20 @@ The [WeekNumberTappedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.U {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Schedule_WeekNumberTapped(object sender, WeekNumberTappedEventArgs e) { var weeknumber = e.WeekNumber.ToString(); @@ -257,12 +328,20 @@ The [AppointmentTappedArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xa {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + private void Schedule_AppointmentTapped(object sender, AppointmentTappedArgs e) { var appointment = e.Appointment.ToString(); diff --git a/wpf/Scheduler/Getting-Started.md b/wpf/Scheduler/Getting-Started.md index 222e008ac9..e2b1c4b02a 100644 --- a/wpf/Scheduler/Getting-Started.md +++ b/wpf/Scheduler/Getting-Started.md @@ -15,6 +15,8 @@ This section provides an overview for working with SfScheduler for WPF and also ## Assembly deployment Refer to the section on [control dependencies](https://help.syncfusion.com/wpf/control-dependencies#sfscheduler) for a list of assemblies or NuGet Packages to be used as a guide for using control in any application. Further information on installing the NuGet package can be found in the following link in a WPF application: [How to install nuget packages](https://help.syncfusion.com/extension/syncfusion-nuget-packages/nuget-packages) . Use [Syncfusion Reference Manager](https://help.syncfusion.com/wpf/visual-studio-integration/visual-studio-extensions/add-references) to refer the scheduler's dependent assemblies. +N> The `SfScheduler` control is available from Syncfusion WPF package version **18.2.0.45** onward. It is supported on **.NET Framework 4.5.1+**, **.NET Core 3.1**, and **.NET 5/6**. The `SfScheduler` replaces the deprecated `SfSchedule` control; new features and enhancements are added only to `SfScheduler`. + ## Create simple application with SfScheduler In this section, create a WPF application with the WPF Scheduler (SfScheduler) control. @@ -46,17 +48,12 @@ To add the control manually in XAML page, follow the given steps: {% capture codesnippet1 %} {% tabs %} {% highlight xaml %} - - - - + + + + {% endhighlight %} {% endtabs %} @@ -70,6 +67,7 @@ To add the control manually in C# page, add the `Syncfusion.SfScheduler.WPF` ass {% tabs %} {% highlight c#%} using Syncfusion.UI.Xaml.Scheduler; + namespace GettingStarted { public partial class MainWindow : Window @@ -88,13 +86,21 @@ namespace GettingStarted ## Change SfScheduler Views -The [WPF Scheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) (SfScheduler) control provides five different types of views to display dates, and the view can be assigned to the control by using the [ViewType](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ViewType) property. By default, the control is assigned with `MonthView`. The current date will be displayed initially for all the Schedule views. +The [WPF Scheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) (SfScheduler) control provides five different types of views to display dates, and the view can be assigned to the control by using the [ViewType](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ViewType) property. The supported view types are `Day`, `Week`, `WorkWeek`, `Month`, and `Timeline`. By default, the control is assigned with `MonthView`. The current date will be displayed initially for all the Schedule views. {% tabs %} {% highlight xaml %} - + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType =SchedulerViewType.Month; {% endhighlight %} {% endtabs %} @@ -102,16 +108,24 @@ Schedule.ViewType =SchedulerViewType.Month; ![WPF scheduler Month view](GettingStarted_images/wpf-scheduler-month-view.png) ## Appointments -[SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) has a built-in capability to handle the appointment arrangement internally based on the [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) collections. Assign the generated collection to the `Appointments` property. +[SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html) has a built-in capability to handle the appointment arrangement internally based on the [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) collections. Assign the generated collection to the [ItemsSource](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ItemsSource) property of `SfScheduler`. ### Creating the schedule appointments The [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) is a class that includes the specific scheduled appointment. It has some basic properties such as [StartTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_StartTime), [EndTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_EndTime), [Subject](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Subject), and some additional information about the appointment can be added with [Notes](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Notes), [Location](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_Location), and [IsAllDay](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html#Syncfusion_UI_Xaml_Scheduler_ScheduleAppointment_IsAllDay) properties. {% tabs %} {% highlight xaml %} - + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + //Creating a new event ScheduleAppointmentCollection appointmentCollection = new ScheduleAppointmentCollection(); @@ -147,6 +161,10 @@ Here are the steps to render meetings using [SfScheduler](https://help.syncfusio Create a custom class `Meeting` with mandatory fields `From`, `To` and `EventName` that is used to map the information of the appointment. {% highlight c# %} +using System; +using System.ComponentModel; +using System.Windows.Media; + public class Meeting : INotifyPropertyChanged { DateTime from, to; @@ -241,6 +259,8 @@ By setting `From` and `To` of the `Meeting` class, schedule the meetings for a s {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; +. . . public class ScheduleViewModel { private List currentDayMeetings; @@ -349,7 +369,6 @@ By setting `From` and `To` of the `Meeting` class, schedule the meetings for a s } } } -} {% endhighlight %} {% endtabs %} @@ -360,20 +379,28 @@ Map the properties of the `Meeting` class with the WPF Scheduler (SfScheduler) c {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + AppointmentMapping appointmentMapping = new AppointmentMapping(); appointmentMapping.IsAllDay = "AllDay"; appointmentMapping.StartTime = "From"; @@ -391,15 +418,21 @@ Create meetings of type `ObservableCollection` and assign the appointmen {% tabs %} {% highlight xaml %} + - - + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + ScheduleViewModel viewModel = new ScheduleViewModel(); Schedule.ItemsSource = viewModel.Events; {% endhighlight %} @@ -413,9 +446,17 @@ WPF Scheduler (SfScheduler) control will be rendered with `Sunday` as the first {% tabs %} {% highlight xaml %} - + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + //setting first day of the week Schedule.FirstDayOfWeek = DayOfWeek.Tuesday; {% endhighlight %} @@ -428,15 +469,31 @@ The Scheduler supports showing the busy indicator by using the [ShowBusyIndicato {% tabs %} {% highlight xaml %} + + + + {% endhighlight %} {% endtabs %} ![WPF scheduler BusyIndicator](GettingStarted_images/wpf-scheduler-busyindicator.png) +## Troubleshooting + +If appointments do not appear in the Scheduler, verify the following: + +* The `ItemsSource` is bound to a non-empty collection implementing `IEnumerable`, and the bound data raises `INotifyPropertyChanged` for live updates. +* The `AppointmentMapping` values exactly match the property names of the custom business object (case-sensitive). +* The appointment `StartTime` is earlier than its `EndTime`; otherwise the appointment will not render. +* When binding a `ScheduleAppointmentCollection` directly, no `AppointmentMapping` is required; mapping is only needed for custom data objects. +* For more diagnostic steps, refer to the [Appointments](https://help.syncfusion.com/wpf/scheduler/appointments) documentation. + ## Theme WPF Scheduler (SfScheduler) supports various built-in themes. Refer to the links below to apply themes for the SfScheduler: @@ -447,5 +504,25 @@ WPF Scheduler (SfScheduler) supports various built-in themes. Refer to the links ![Setting theme to WPF scheduler](GettingStarted_images/wpf-scheduler-theme.png) - + ## See also + +* [Overview](overview.md) — Introduction to the WPF Scheduler features. +* [Appointments](appointments.md) — Detailed information on appointments, mapping, spanned, all-day, and recurrence appointments. +* [Appointment editing](appointment-editing.md) — Add, edit, and delete appointments using the built-in appointment editor. +* [Appointment drag and drop](appointment-drag-and-drop.md) — Reschedule appointments by drag-and-drop. +* [Day and Week views](daysview.md) — Customize day, week, and work week views. +* [Timeline views](timelineview.md) — Customize timeline day, week, work week, and month views. +* [Month view](month-view.md) — Customize the month view, agenda view, and blackout dates. +* [Date navigation](date-navigations.md) — Configure minimum/maximum dates, programmatic date selection, and view navigation. +* [Header](header.md) — Customize the scheduler header height, date format, and appearance. +* [Events](events.md) — Handle cell tapped, selection changed, and view changed events. +* [Context menu and commands](contextmenu-commands.md) — Add context menus for appointments and time slots. +* [Time zone](time-zone.md) — Create and display appointments across time zones. +* [Resource grouping](resource-grouping.md) — Group appointments by resources or dates. +* [Reminder](reminder.md) — Enable reminder alerts for appointments. +* [Load on demand](loadondemand.md) — Load appointments on demand for large date ranges. +* [Calendar types](calendar-types.md) — Use Gregorian, Hebrew, Hijri, and other calendar types. +* [Localization](localization.md) — Localize scheduler text using resource files. +* [Migrating from SfSchedule to SfScheduler](migrating-from-sfschedule-to-sfscheduler.md) — API mapping for migration from the deprecated SfSchedule control. + N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file diff --git a/wpf/Scheduler/Header.md b/wpf/Scheduler/Header.md index 3185be87da..dedff31d76 100644 --- a/wpf/Scheduler/Header.md +++ b/wpf/Scheduler/Header.md @@ -15,11 +15,19 @@ Change the scheduler header height by using [HeaderHeight](https://help.syncfusi {% tabs %} {% highlight xaml %} - - + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.HeaderHeight = 100; {% endhighlight %} {% endtabs %} @@ -31,11 +39,19 @@ Change the Scheduler header date format by using the [HeaderDateFormat](https:// {% tabs %} {% highlight xaml %} - - + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.HeaderDateFormat = "MMM/yyyy"; {% endhighlight %} {% endtabs %} @@ -49,13 +65,21 @@ Style the Scheduler header appearance using [SchedulerHeaderControl](https://hel {% tabs %} {% highlight xaml %} - + + + + + + + {% endhighlight %} {% endtabs %} @@ -66,19 +90,25 @@ Customize header appearance of scheduler by using [HeaderTemplate](https://help. {% tabs %} {% highlight xaml %} - - - - - - - + + + + + + + + + + + {% endhighlight %} {% endtabs %} ![WPF Scheduler header HeaderTemplate](Header_Images/HeaderTemplate.png) -N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. For an overview of scheduler features, see [Overview](overview.md). \ No newline at end of file diff --git a/wpf/Scheduler/LoadOnDemand.md b/wpf/Scheduler/LoadOnDemand.md index d9af44539e..7bc93414a2 100644 --- a/wpf/Scheduler/LoadOnDemand.md +++ b/wpf/Scheduler/LoadOnDemand.md @@ -19,11 +19,19 @@ The [QueryAppointmentsEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.U {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + Scheduler.QueryAppointments += Scheduler_QueryAppointments; private void Scheduler_QueryAppointments(object sender, QueryAppointmentsEventArgs e) { @@ -73,14 +81,22 @@ Define a ViewModel class that implements command and handle it by the CanExecute {% tabs %} {% highlight xaml %} - + + - + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; +. . . public class LoadOnDemandViewModel : NotificationObject { @@ -168,4 +184,4 @@ The scheduler will add the occurrences of recurrence series based on the visible * If the `RecurrenceRule` is added without an end date, then the recurrence appointment should be added in the scheduler `ItemsSource` when all the visible dates changed from the recurrence start date. -N> [View sample in GitHub](https://github.com/SyncfusionExamples/load-on-demand-appointments-wpf-scheduler) +N> [View sample in GitHub](https://github.com/SyncfusionExamples/load-on-demand-appointments-wpf-scheduler). For more information on appointments, see [Appointments](appointments.md). diff --git a/wpf/Scheduler/Localization.md b/wpf/Scheduler/Localization.md index b09ebe7a9a..decccba19e 100644 --- a/wpf/Scheduler/Localization.md +++ b/wpf/Scheduler/Localization.md @@ -58,4 +58,4 @@ N> [View **Syncfusion.SfScheduler.WPF.resx** in GitHub](https://github.com/syncf ![Shows the localized strings in French for WPF Scheduler](Localization_images/Localized_Scheduler.png) -N> [View sample in GitHub](https://github.com/SyncfusionExamples/wpf-scheduler-localization). You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. \ No newline at end of file +N> [View sample in GitHub](https://github.com/SyncfusionExamples/wpf-scheduler-localization). You can refer to our [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) feature tour page for its groundbreaking feature representations. For calendar types support, see [Calendar types](calendar-types.md). \ No newline at end of file diff --git a/wpf/Scheduler/Migrating-from-SfSchedule-to-SfScheduler.md b/wpf/Scheduler/Migrating-from-SfSchedule-to-SfScheduler.md index 58e772c25e..1f0f067df9 100644 --- a/wpf/Scheduler/Migrating-from-SfSchedule-to-SfScheduler.md +++ b/wpf/Scheduler/Migrating-from-SfSchedule-to-SfScheduler.md @@ -21,7 +21,7 @@ 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. +The following code example shows the xmlns namespace for the SfScheduler control. Include the Syncfusion schema in WPF; both scheduler controls are available in the WPF schema. ### SfSchedule @@ -91,11 +91,11 @@ Description {{'[Resource](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Schedule.SfSchedule.html#Syncfusion_UI_Xaml_Schedule_SfSchedule_Resource)'| markdownify }} {{'[ResourceCollection](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_ResourceCollection)'| markdownify }} -Gets or sets the Resource grouping for schedule. +Gets or sets the resource collection for schedule. -{{'[EnableReminderTimer]( https://help.syncfusion.com/cr/wpf#Syncfusion_UI_Xaml_Schedule_SfSchedule_EnableReminderTimer/Syncfusion.html)'| markdownify }} -{{'[EnableReminder]( https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_EnableReminder)'| markdownify }} -Gets or sets the Resource grouping for schedule. +{{'[EnableReminderTimer](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Schedule.SfSchedule.html#Syncfusion_UI_Xaml_Schedule_SfSchedule_EnableReminderTimer)'| markdownify }} +{{'[EnableReminder](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html#Syncfusion_UI_Xaml_Scheduler_SfScheduler_EnableReminder)'| markdownify }} +Gets or sets whether the reminder is enabled. The following table compares the [ScheduleAppointment](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ScheduleAppointment.html) APIs, diff --git a/wpf/Scheduler/Month-View.md b/wpf/Scheduler/Month-View.md index 1a505f92e5..e2f5ce7c7a 100644 --- a/wpf/Scheduler/Month-View.md +++ b/wpf/Scheduler/Month-View.md @@ -14,14 +14,22 @@ The scheduler month view displays a divided agenda view that is used to show the {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.ShowAgendaView = true; {% endhighlight %} @@ -38,16 +46,24 @@ Customize the month agenda view height from the Scheduler by using the [AgendaVi {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.AppointmentDisplayMode = AppointmentDisplayMode.Indicator; this.Schedule.MonthViewSettings.ShowAgendaView = true; @@ -65,14 +81,22 @@ Handle the Scheduler month view appointment display by using the [AppointmentDis {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.AppointmentDisplayMode = AppointmentDisplayMode.Appointment; {% endhighlight %} @@ -85,15 +109,23 @@ Customize the number of appointments displayed in a month cell using the [Appoin {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.AppointmentDisplayMode = AppointmentDisplayMode.Indicator; this.Schedule.MonthViewSettings.AppointmentDisplayCount = 4; @@ -111,14 +143,22 @@ The month view of a Scheduler can be navigated in both horizontal and vertical d {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.MonthNavigationDirection = MonthNavigationDirection.Vertical; {% endhighlight %} @@ -131,14 +171,22 @@ Customize the date format of the scheduler month view by using the [DateFormat]( {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.DateFormat = "dd"; {% endhighlight %} @@ -147,21 +195,29 @@ this.Schedule.MonthViewSettings.DateFormat = "dd"; ![WPF Scheduler month view DateFormat](Month-View_Images/wpf-scheduler-date-formatting.png) ## View header -Customize the default appearance of view header in month view by setting `ViewHeaderDayFormat`, `DateFormat` ,`ViewHeaderHeight` and `ViewHeaderTemplate` of TimelineViewSettings. +Customize the default appearance of view header in month view by setting `ViewHeaderDayFormat`, `DateFormat` ,`ViewHeaderHeight` and `ViewHeaderTemplate` of `MonthViewSettings`. ### View header text formatting Customize the day format of the Scheduler view header by using the [ViewHeaderDayFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.ViewSettingsBase.html#Syncfusion_UI_Xaml_Scheduler_ViewSettingsBase_ViewHeaderDayFormat) property of `MonthViewSettings`. By default, the month view header day format is `ddd`. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.ViewHeaderDayFormat = "dddd"; {% endhighlight %} @@ -174,14 +230,22 @@ Customize the view header height by using the [ViewHeaderHeight](https://help.sy {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.ViewHeaderHeight = 100; {% endhighlight %} @@ -194,28 +258,34 @@ Customize the default appearance of the month view header by using the [ViewHead {% tabs %} {% highlight xaml %} - - - - - - - - - + + + + + + + + + + - - - - - + + + + + + + {% endhighlight %} {% endtabs %} @@ -226,16 +296,24 @@ Customize the leading and trailing days visibility of the scheduler month view b {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.LeadingDaysVisibility = Visibility.Collapsed; this.Schedule.MonthViewSettings.TrailingDaysVisibility = Visibility.Collapsed; @@ -249,17 +327,24 @@ this.Schedule.MonthViewSettings.TrailingDaysVisibility = Visibility.Collapsed; The number of weeks visible in the month view can be changed by setting the [NumberOfVisibleWeeks](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.MonthViewSettings.html#Syncfusion_UI_Xaml_Scheduler_MonthViewSettings_NumberOfVisibleWeeks) property of [MonthViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.MonthViewSettings.html) in the [`SfScheduler`](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.html). By default, 6 weeks are visible. {% tabs %} -{% highlight xaml hl_lines="4" %} - - - - - - +{% highlight xaml hl_lines="8" %} + + + + + + + + + + {% endhighlight %} -{% highlight c# hl_lines="2" %} +{% highlight c# hl_lines="4" %} +using Syncfusion.UI.Xaml.Scheduler; this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.NumberOfVisibleWeeks = 3; @@ -280,6 +365,8 @@ Disable the interaction for certain dates in the scheduler month view by adding {% tabs %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.BlackoutDates = GetBlackoutDates(); @@ -305,28 +392,32 @@ private ObservableCollection GetBlackoutDates() {% tabs %} {% highlight xaml %} - - - + + + + + {% endhighlight %} {% endtabs %} @@ -337,14 +428,22 @@ Display the week number of a year in the scheduler month view by setting the [Sh {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.ShowWeekNumber = true; {% endhighlight %} @@ -357,23 +456,29 @@ Customize the default appearance of a week number template in the month view by {% tabs %} {% highlight xaml %} - - - - - - - - - - - - + + + + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -386,20 +491,26 @@ Customize the default appearance of the month cell by using the [MonthCellTempla {% tabs %} {% highlight xaml %} - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -411,20 +522,28 @@ The `DataTemplateSelector` can choose a DataTemplate at runtime based on the val {% tabs %} {% highlight xaml %} - - - - - - - - - + + + + + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + public class MonthCellTemplateSelector : DataTemplateSelector { public MonthCellTemplateSelector() @@ -471,24 +590,30 @@ Customize the default appearance of the month cell appointment by using the [App {% tabs %} {% highlight xaml %} - - - - - - - - - - - + + + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -501,38 +626,45 @@ The `DataTemplateSelector` can choose a DataTemplate at runtime based on the val {% tabs %} {% highlight xaml %} - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + +
+ + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + public class MonthViewAppointmentTemplateSelector : DataTemplateSelector { public DataTemplate CurrentDayAppointmentTemplate { get; set; } @@ -557,18 +689,24 @@ You can customize the default appearance of more appointments indicator in a mon {% tabs %} {% highlight xaml %} - - - - - - - - - - - - + + + + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -579,15 +717,23 @@ You can customize the default appearance of more appointments indicator in a mon To enhance interaction with a scheduler's appointments, you can customize the spacing between appointments and the right border of their cells using the [CellRightPadding](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.MonthViewSettings.html#Syncfusion_UI_Xaml_Scheduler_MonthViewSettings_CellRightPadding) property of [MonthViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.MonthViewSettings.html) in the [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html). {% tabs %} -{% highlight xaml hl_lines="4" %} - - - - - -{% endhighlight %} -{% highlight c# hl_lines="2" %} +{% highlight xaml hl_lines="8" %} + + + + + + + + + +{% endhighlight %} +{% highlight c# hl_lines="4" %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.MonthViewSettings.CellRightPadding = 30; {% endhighlight %} diff --git a/wpf/Scheduler/Overview.md b/wpf/Scheduler/Overview.md index c929b77762..aa95648fa7 100644 --- a/wpf/Scheduler/Overview.md +++ b/wpf/Scheduler/Overview.md @@ -47,4 +47,4 @@ The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) cont **LoadOnDemand** - The SfScheduler supports loading appointments on-demand with a loading indicator and improves the loading performance when there are appointments ranging over multiple years. -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. Looking for the full WPF Scheduler component overview, features, pricing, and documentation? Visit the [WPF Scheduler](https://www.syncfusion.com/wpf-controls/scheduler) page. +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. Looking for the full WPF Scheduler component overview, features, pricing, and documentation? Visit the [WPF Scheduler](https://www.syncfusion.com/wpf-controls/scheduler) page. To get started, see [Getting started](getting-started.md). diff --git a/wpf/Scheduler/Reminder.md b/wpf/Scheduler/Reminder.md index 0a25b7b31d..169236169e 100644 --- a/wpf/Scheduler/Reminder.md +++ b/wpf/Scheduler/Reminder.md @@ -14,10 +14,16 @@ Reminder can be set by setting the [EnableReminder](https://help.syncfusion.com/ {% tabs %} {% highlight xaml %} - - + + + + + + {% endhighlight %} {% endtabs %} @@ -57,15 +63,24 @@ Configure the appointment reminders with [SchedulerReminder](https://help.syncfu {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; +. . . + public class ReminderViewModel { ... @@ -92,6 +107,9 @@ N> [View sample in GitHub](https://github.com/SyncfusionExamples/appointment-rem {% tabs %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; +. . . + /// /// Represents custom data properties. /// @@ -125,6 +143,9 @@ The [ReminderMapping](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Sche {% tabs %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; +. . . + /// /// Represents custom data properties. /// @@ -149,31 +170,40 @@ Map the properties of the `Meeting` class with the [SfScheduler](https://help.sy {% tabs %} {% highlight xaml %} - - - - - - - - - + + + + + + + + + + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; +. . . + public class ReminderViewModel { ... @@ -202,6 +232,8 @@ Scheduler notifies by the [ReminderAlertOpening](https://help.syncfusion.com/cr/ {% tabs %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + scheduler.ReminderAlertOpening += Scheduler_ReminderAlertOpening; private void Scheduler_ReminderAlertOpening(object sender, ReminderAlertOpeningEventArgs e) @@ -226,6 +258,8 @@ The [ReminderAlertActionChangedEventArgs](https://help.syncfusion.com/cr/wpf/Syn {% tabs %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ReminderAlertActionChanged += OnScheduleReminderAlertActionChanged; private void OnScheduleReminderAlertActionChanged(object sender, Syncfusion.UI.Xaml.Scheduler.ReminderAlertActionChangedEventArgs e) @@ -247,4 +281,4 @@ private void OnScheduleReminderAlertActionChanged(object sender, Syncfusion.UI.X {% endhighlight %} {% endtabs %} -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. For information on appointment data binding, see [Appointments](appointments.md). diff --git a/wpf/Scheduler/Resource-Grouping.md b/wpf/Scheduler/Resource-Grouping.md index ce3314186d..e29574c530 100644 --- a/wpf/Scheduler/Resource-Grouping.md +++ b/wpf/Scheduler/Resource-Grouping.md @@ -19,6 +19,7 @@ N>No resource view will be displayed, even when a resource is added using the `R {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; // Adding schedule resource in the scheduler resource collection. var ResourceCollection = new ObservableCollection() @@ -28,11 +29,17 @@ var ResourceCollection = new ObservableCollection() new SchedulerResource() { Name = "James William", Background = new SolidColorBrush(Colors.Yellow), Id = "1002" }, }; -// Adding the scheduler resource collection to the schedule resources of SfSchedule. +// Adding the scheduler resource collection to the schedule resources of SfScheduler. schedule.ResourceCollection = ResourceCollection; {% endhighlight %} {% highlight xaml %} - + + + + + {% endhighlight %} {% endtabs %} @@ -50,9 +57,17 @@ The `ResourceGroupType` is set to `Resource` to group the number of dates under {% tabs %} {% highlight xaml %} - + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + schedule.ViewType = SchedulerViewType.Week; schedule.ResourceGroupType = ResourceGroupType.Resource; {% endhighlight %} @@ -66,9 +81,17 @@ The `ResourceGroupType` is set to `Date` to group the number of resources under {% tabs %} {% highlight xaml %} - + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + schedule.ViewType = SchedulerViewType.Week; schedule.ResourceGroupType = ResourceGroupType.Date; {% endhighlight %} @@ -82,6 +105,8 @@ Appointments associated with scheduler `ResourceCollection` will be displayed wh {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + ScheduleAppointmentCollection scheduleAppointmentCollection = new ScheduleAppointmentCollection(); var appointments = new ScheduleAppointment() { @@ -107,6 +132,7 @@ Multiple resources can share the same events or appointments. If the appointment {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; ScheduleAppointmentCollection scheduleAppointmentCollection = new ScheduleAppointmentCollection(); var appointments = new ScheduleAppointment() @@ -146,6 +172,9 @@ Create a custom class `Employee` with mandatory fields `Name`, `Id`, `Foreground {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; +. . . + public class Employee { public string Name {get; set;} @@ -169,13 +198,21 @@ Map the properties of `Employee` class with `SfScheduler` control using Schedule {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Schedule data mapping for custom resource. ResourceMapping resourceMapping = new ResourceMapping(); resourceMapping.Name = "Name"; @@ -192,6 +229,8 @@ Add the resources of `Employee` collection that can be assigned to the scheduler {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + // Creating and Adding custom resource in scheduler resource collection. var ResourceCollection = new ObservableCollection() { @@ -212,6 +251,9 @@ Associate scheduler `ResourceMapping` to the custom appointment by mapping resou {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; +. . . + /// /// Represents the custom data properties. /// @@ -230,17 +272,25 @@ N> Inherit this class from the `INotifyPropertyChanged` for dynamic changes in c Map those properties of `Meeting` class to schedule appointment by using `AppointmentMapping` properties. {%tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + //Schedule data mapping for custom appointments AppointmentMapping dataMapping = new AppointmentMapping(); dataMapping.Subject = "EventName"; @@ -256,6 +306,8 @@ Schedule meetings for a Resource by setting `From`, `To` and `Resources` of Meet {%tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Meeting meeting = new Meeting (); meeting.From = new DateTime(2020, 07, 01, 10, 0, 0); meeting.To = meeting.From.AddHours(1); @@ -279,13 +331,21 @@ Customize the resource header size in the day, week, workweek, timeline day, tim {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + schedule.DaysViewSettings.ResourceHeaderSize = 100; {% endhighlight %} {% endtabs %} @@ -296,13 +356,21 @@ schedule.DaysViewSettings.ResourceHeaderSize = 100; {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + schedule.TimelineViewSettings.ResourceHeaderSize = 80; {% endhighlight %} {% endtabs %} @@ -312,15 +380,23 @@ The resource row height gets auto-adjusted based on the number of overlapping ap {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + schedule.TimelineViewSettings.RowAutoHeight = true; {% endhighlight %} {% endtabs %} @@ -338,15 +414,23 @@ You can customize the minimum row height of visible resources in timeline day, t {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + schedule.TimelineViewSettings.RowMinHeight = 100; {% endhighlight %} {% endtabs %} @@ -364,13 +448,21 @@ N> If the visible resource count exceeds the schedule `ResourceCollection` count `DaysViewSettings` applicable for `Day`, `Week` and `WorkWeek` views. By default, value of this property is set to 3. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + schedule.DaysViewSettings.VisibleResourceCount = 2; {% endhighlight %} {% endtabs %} @@ -382,13 +474,21 @@ schedule.DaysViewSettings.VisibleResourceCount = 2; `TimelineViewSettings` applicable for timeline day, timeline week, timeline workweek and timeline month views. By default, value of this property is set to 3. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + schedule.TimelineViewSettings.VisibleResourceCount = 2; {% endhighlight %} {% endtabs %} @@ -403,6 +503,7 @@ Special time region can be created based on the resources in day, week, workweek {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; Schedule.DaysViewSettings.SpecialTimeRegions.Add(new SpecialTimeRegion { @@ -430,6 +531,7 @@ The [SpecialTimeRegion](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Sc {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; this.schedule.TimelineViewSettings.SpecialTimeRegions.Add(new SpecialTimeRegion { @@ -458,40 +560,42 @@ Resource UI customization using a template and template selectors support. {% tabs %} {% highlight xaml %} - - - - - - - - - + + + + + + + + + + + + + - - - + + + + + //used to find Image Source and Name properties + + + + + + + + + + - - - -//used to find Image Source and Name properties - - - - - - - - - - - - - + {% endhighlight %} {% endtabs %} @@ -508,6 +612,9 @@ N>[View sample in GitHub](https://github.com/SyncfusionExamples/resource-view-su {% tabs %} {% highlight xaml %} + @@ -562,15 +669,16 @@ N>[View sample in GitHub](https://github.com/SyncfusionExamples/resource-view-su DisplayDate="{Binding DisplayDate}" ResourceHeaderTemplateSelector="{StaticResource resourceTemplateSelector}"> - + {% endhighlight %} {% endtabs %} - #### Creating a ResourceHeaderTemplateSelector {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; +. . . public class ResourceTemplateSelector : DataTemplateSelector { diff --git a/wpf/Scheduler/Time-Zone.md b/wpf/Scheduler/Time-Zone.md index 3b9666f608..02f5f769a3 100644 --- a/wpf/Scheduler/Time-Zone.md +++ b/wpf/Scheduler/Time-Zone.md @@ -1165,6 +1165,8 @@ Use the [StartTime](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Schedu {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + var appointments = new ScheduleAppointmentCollection(); appointments.Add(new ScheduleAppointment() { @@ -1192,10 +1194,18 @@ Set the specific time zone to schedule using the [TimeZone](https://help.syncfus {% tabs %} {% highlight xaml %} - + + + + {% endhighlight %} {% highlight c#%} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.TimeZone = "Central America Standard Time"; {% endhighlight %} {% endtabs %} @@ -1212,4 +1222,4 @@ If you set scheduler’s `TimeZone` as `AUS Central Standard Time (Darwin)` and If you set scheduler’s `TimeZone` as `AUS Central Standard Time (Darwin)` and the appointment’s time zone is not set, then the appointment’s start time and end time value is converted from scheduler time zone to `UTC time zone` and the appointment’s start time will be saved at 10.30 PM. -N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. \ No newline at end of file +N> You can also explore our [WPF Scheduler example](https://github.com/syncfusion/wpf-demos) to know how to schedule and manage appointments through an intuitive user interface, similar to the Outlook calendar. For information on appointments, see [Appointments](appointments.md). \ No newline at end of file diff --git a/wpf/Scheduler/TimelineView.md b/wpf/Scheduler/TimelineView.md index d0f973c6a0..aa1ab0e6f3 100644 --- a/wpf/Scheduler/TimelineView.md +++ b/wpf/Scheduler/TimelineView.md @@ -15,6 +15,8 @@ Customize the interval of timeslots in the timeline views by using the [TimeInte {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.TimeInterval = new System.TimeSpan(0, 120, 0); {% endhighlight %} @@ -28,15 +30,23 @@ N> If the timeInterval value (in minutes) is modified, change the time labels fo Customize the interval width of timeslots in the Timeline views by setting the [TimeIntervalSize](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeIntervalSize) property of `TimelineViewSettings.` This property will be applicable to all timeline views. By default, its value is fifty for the `TimelineDay,` `TimelineWeek,` and `TimelineWorkWeek` views and 150 for `TimelineMonth` view. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.TimeIntervalSize = 120; {% endhighlight %} @@ -49,15 +59,23 @@ The default values for the [StartHour](https://help.syncfusion.com/cr/wpf/Syncfu {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.StartHour = 8; Schedule.TimelineViewSettings.EndHour = 15; @@ -79,14 +97,22 @@ Change the day's count of timeslots in the timeline view by setting the [DaysCou {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineDay; Schedule.TimelineViewSettings.DaysCount = 2; {% endhighlight %} @@ -99,8 +125,9 @@ Disable the interaction for certain dates in the scheduler `TimelineMonth` view {% tabs %} {% highlight c#%} -this.Schedule.ViewType = SchedulerViewType.Month; +using Syncfusion.UI.Xaml.Scheduler; +this.Schedule.ViewType = SchedulerViewType.Month; this.Schedule.BlackoutDates = GetBlackoutDates(); private ObservableCollection GetBlackoutDates() @@ -127,23 +154,31 @@ Restrict the user interaction such as selection and highlights specific regions Enable or disable the touch interaction of `SpecialTimeRegion` using the [CanEdit](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_CanEdit) property of `SpecialTimeRegion`. By default, its value is true. {% tabs %} {% highlight xaml %} - - - - - - - - - + + + + + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.SpecialTimeRegions.Add(new SpecialTimeRegion { @@ -170,24 +205,32 @@ This property only restricts the interaction on region and it does not restrict The recurring time region on a daily, weekly, monthly, or yearly interval. The recurring special time regions can be created by setting the [RecurrenceRule](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_RecurrenceRule) property in `SpecialTimeRegion`. {% tabs %} {% highlight xaml %} - - - - - - - - - + + + + + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWorkWeek; Schedule.TimelineViewSettings.SpecialTimeRegions.Add(new SpecialTimeRegion { @@ -206,6 +249,7 @@ Schedule.TimelineViewSettings.SpecialTimeRegions.Add(new SpecialTimeRegion Delete any of occurrence that is an exception from the recurrence pattern time region by using the [RecurrenceExceptionDates](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_RecurrenceExceptionDates) property of `SpecialTimeRegion`. The deleted occurrence date will be considered as a recurrence exception date. {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; Schedule.ViewType = SchedulerViewType.TimelineWeek; DateTime recurrenceExceptionDates = new DateTime(2020, 07, 06, 10, 0, 0); DateTime recurrenceExceptionDates1 = new DateTime(2020, 07, 08, 10, 0, 0); @@ -233,39 +277,49 @@ Schedule.TimelineViewSettings.SpecialTimeRegions.Add(new SpecialTimeRegion The `SpecialTimeRegion` background color can be customized by using the [Background](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SpecialTimeRegion.html#Syncfusion_UI_Xaml_Scheduler_SpecialTimeRegion_Background) and [SpecialTimeRegionTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_SpecialTimeRegionTemplate) properties of `SpecialTimeRegion` that is used to customize the text style for the image of the `SpecialTimeRegion`. {% tabs %} {% highlight xaml %} - - - - - - - + + + + + + + + + {% endhighlight %} {% endtabs %} {% tabs %} {% highlight xaml %} - - - - - - - - - + + + + + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -275,14 +329,22 @@ The `SpecialTimeRegion` background color can be customized by using the [Backgro Scheduler time interval height can be adjusted based on screen height by changing the value of [TimeIntervalSize](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeIntervalSize) property to -1. It will auto-fit to the screen height and width. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.TimeIntervalSize = -1; {% endhighlight %} @@ -294,15 +356,23 @@ Schedule.TimelineViewSettings.TimeIntervalSize = -1; Customize the size of the time ruler view where the labels mentioning the time are placed by using the [TimeRulerSize](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeRulerSize) property of `TimelineViewSettings.` This property will be applicable to `TimelineDay,` `TimelineWeek,` and `TimelineWorkWeek` views. {% tabs %} {% highlight xaml %} - - - - - - + + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.TimeRulerSize = 100; {% endhighlight %} @@ -314,6 +384,7 @@ Schedule.TimelineViewSettings.TimeRulerSize = 100; The [MinimumAppointmentDuration](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_MinimumAppointmentDuration) property in the `TimelineViewSettings` is to set an arbitrary height to appointments when it has a minimum duration in timeline view so that the subject can be readable. This property will not be applicable for the `TimelineMonth` view. {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.MinimumAppointmentDuration = new System.TimeSpan(0, 120, 0); {% endhighlight %} @@ -329,6 +400,7 @@ N> Customize the format for the labels mentioning the time, by setting the [TimeRulerFormat](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimeSlotViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimeSlotViewSettings_TimeRulerFormat) property of `TimelineViewSettings` in the `Scheduler`. This property will not be applicable for the `TimelineMonth` view. {% tabs %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.TimeRulerFormat = "hh mm"; Schedule.TimelineViewSettings.TimeInterval = new System.TimeSpan(0, 30, 0); @@ -348,14 +420,22 @@ Customize the default appearance of view header in the timeline views by setting Customize the date and day format of ViewHeader by using the `ViewHeaderDateFormat` and `ViewHeaderDayFormat` properties of `TimelineViewSettings`. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.ViewHeaderDateFormat="dd/MMMM"; {% endhighlight %} @@ -366,14 +446,22 @@ Schedule.TimelineViewSettings.ViewHeaderDateFormat="dd/MMMM"; Customize the height of the ViewHeader in timeline views by setting `ViewHeaderHeight` property of `TimelineViewSettings` in `SfScheduler`. {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.ViewHeaderHeight = 100; {% endhighlight %} @@ -386,43 +474,53 @@ Customize the default appearance of view header by setting `ViewHeaderTemplate` {% tabs %} {% highlight xaml %} - - - - - - - - + + + + + + + + + + {% endhighlight %} {% endtabs %} {% tabs %} {% highlight xaml %} - - - - - + + + + + + + + + {% endhighlight %} {% endtabs %} @@ -432,15 +530,23 @@ Customize the default appearance of view header by setting `ViewHeaderTemplate` Customize the height of the appointment in `TimelineView` using the [TimelineAppointmentHeight](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimelineViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimelineViewSettings_TimelineAppointmentHeight) property of the `TimelineViewSettings`. By default, it's value is fifty for the `TimelineWeek,` `TimelineWorkWeek,` and `TimelineDay` views and twenty for the `TimelineMonth` view. {% tabs %} {% highlight xaml %} - - - - - - + + + + + + + + + + {% endhighlight %} {% highlight c# %} +using Syncfusion.UI.Xaml.Scheduler; + Schedule.ViewType = SchedulerViewType.TimelineWeek; Schedule.TimelineViewSettings.TimelineAppointmentHeight = 100; {% endhighlight %} @@ -453,15 +559,23 @@ Schedule.TimelineViewSettings.TimelineAppointmentHeight = 100; To enhance interaction with a scheduler's appointments, you can customize the spacing between appointments and the bottom border of their cells using the [CellBottomPadding](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimelineViewSettings.html#Syncfusion_UI_Xaml_Scheduler_TimelineViewSettings_CellBottomPadding) property of [TimelineViewSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.TimelineViewSettings.html) in the [SfScheduler](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Scheduler.SfScheduler.html). {% tabs %} -{% highlight xaml hl_lines="4" %} - + + - - - - + + + + + + {% endhighlight %} -{% highlight c# hl_lines="2" %} +{% highlight c# hl_lines="4" %} +using Syncfusion.UI.Xaml.Scheduler; + this.Schedule.ViewType = SchedulerViewType.TimelineWeek; this.Schedule.TimelineViewSettings.CellBottomPadding = 30; {% endhighlight %} From c5fd095006c7cd269273dd4d138d28c5485b82eb Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Mon, 13 Jul 2026 10:57:24 +0530 Subject: [PATCH 15/46] Address CI issue for scheduler --- wpf/Scheduler/Date-Navigations.md | 1 + 1 file changed, 1 insertion(+) diff --git a/wpf/Scheduler/Date-Navigations.md b/wpf/Scheduler/Date-Navigations.md index 17ca3c8b95..ed7a6134cd 100644 --- a/wpf/Scheduler/Date-Navigations.md +++ b/wpf/Scheduler/Date-Navigations.md @@ -179,6 +179,7 @@ You can quickly navigate to the respective day or timeline day view by single-cl +{% endhighlight %} {% highlight c#%} using Syncfusion.UI.Xaml.Scheduler; From 6b982371f5c975d376a1cdc1c2588aaefb1f057f Mon Sep 17 00:00:00 2001 From: Mugesh Date: Mon, 13 Jul 2026 11:57:14 +0530 Subject: [PATCH 16/46] Updated Licensing Documentation Page --- .../licensing-faq/CI-license-validation.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/wpf/Licensing/licensing-faq/CI-license-validation.md b/wpf/Licensing/licensing-faq/CI-license-validation.md index 7edaccf285..618d85eb6c 100644 --- a/wpf/Licensing/licensing-faq/CI-license-validation.md +++ b/wpf/Licensing/licensing-faq/CI-license-validation.md @@ -26,21 +26,28 @@ The following section shows how to validate the Syncfusion license key in CI ser * Download and extract the LicenseKeyValidator.zip utility from the following link: [LicenseKeyValidator](https://s3.amazonaws.com/files2.syncfusion.com/Installs/LicenseKeyValidation/LicenseKeyValidator.zip). * Open the LicenseKeyValidation.ps1 PowerShell script in a text or code editor as shown in the example below. + {% tabs %} -{% highlight c# tabtitle="PowerShell" %} +{% highlight c# tabtitle="v34.1.29 and later" %} # Replace the parameters with the desired platform, version, and actual license key. -$result = & $PSScriptRoot"\LicenseKeyValidatorConsole.exe" /platform:"WPF" /version:"26.2.4" /licensekey:"Your License Key" +$result = & $PSScriptRoot"\LicenseKeyValidatorConsole.exe" /platform:"UIComponent" /version:"34.1.29" /licensekey:"Your License Key" Write-Host $result {% endhighlight %} -{% endtabs %} -![LicenseKeyValidation script](licensing-images/license-validation.png) +{% highlight c# tabtitle="Before v34.1.29" %} +# Replace the parameters with the desired platform, version, and actual license key. -* Update the parameters in the LicenseKeyValidation.ps1 script file as described below. +$result = & $PSScriptRoot"\LicenseKeyValidatorConsole.exe" /platform:"WPF" /version:"26.2.4" /licensekey:"Your License Key" - **Platform:** Set the value for /platform: to "WPF". +Write-Host $result +{% endhighlight %} +{% endtabs %} + +* Update the parameters in the script: + + **Platform:** Set /platform:"**UIComponent**" for v34.1.29 and later, or /platform:"**WPF**" for earlier versions (use the relevant Syncfusion platform as needed). **Version:** Set the value for /version: to the required version (for example, "26.2.4"). @@ -137,7 +144,7 @@ SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY"); //Validate the registered license key. // The array overload allows validating against multiple platforms in a single call. -bool isValid = SyncfusionLicenseProvider.ValidateLicense(new[] { Platform.WPF }); +bool isValid = SyncfusionLicenseProvider.ValidateLicense(new[] { Platform.UIComponent }); {% endhighlight %} {% highlight c# tabtitle="Before v34.1.29" %} @@ -151,11 +158,7 @@ bool isValid = SyncfusionLicenseProvider.ValidateLicense(Platform.WPF); {% endhighlight %} {% endtabs %} -**v34.1.29 and later:** -![LicenseKeyValidationMethod](licensing-images/license-validation-method-new.png) - -**Before v34.1.29:** -![LicenseKeyValidationMethod](licensing-images/license-validation-method.png) +N> Use `Platform.UIComponent` for UI component license validation in v34.1.29 and later. `Platform.WPF` is not supported from v34.1.29 onwards. * If the ValidateLicense() method returns true, the registered license key is valid and the application can proceed with deployment. @@ -179,9 +182,6 @@ N> * Place the license key between double quotes. Also, ensure that Syncfusion.L {% tabs %} {% highlight c# %} -using NUnit.Framework; -using Syncfusion.Licensing; - public void TestSyncfusionWPFLicense() { var platform = Platform.WPF; From a4702b22f3472fbeb05aa55814866053b81a7a71 Mon Sep 17 00:00:00 2001 From: Paranthaman Palani Date: Mon, 13 Jul 2026 13:03:29 +0530 Subject: [PATCH 17/46] Fixed CI issues --- .../how-to-register-in-an-application.md | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/wpf/Licensing/how-to-register-in-an-application.md b/wpf/Licensing/how-to-register-in-an-application.md index 93a972d4e7..297d907147 100644 --- a/wpf/Licensing/how-to-register-in-an-application.md +++ b/wpf/Licensing/how-to-register-in-an-application.md @@ -1,7 +1,7 @@ --- layout: post title: Overview of Syncfusion license registration - Syncfusion -description: Learn how to register the Syncfusion license key in a WPF application for license validation. +description: Learn here about how to register Syncfusion WPF license key for WPF application for license validation. platform: wpf control: Essential Studio documentation: ug @@ -9,18 +9,36 @@ documentation: ug # Register Syncfusion license key in a WPF application -To generate or obtain a license key, see [License key generation](https://www.syncfusion.com/account/licensing). - N> **Prerequisites:** Install the Syncfusion WPF NuGet package (for example, `Syncfusion.Licensing.Wpf`, or the platform-specific control package that depends on it) from the Syncfusion NuGet feed, and ensure `Syncfusion.Licensing.dll` is referenced in your project. Licensing support is available in Syncfusion Essential Studio version 16.1.0.24 and later. The generated license key is a string that must be registered before any Syncfusion control is initialized. The `Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense` method takes the license-key string as its only parameter and returns `void`. The following code registers the license. +**Registering a single license key** + {% tabs %} {% highlight c# %} Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY"); {% endhighlight %} {% endtabs %} +**Registering multiple license keys** + +You can register multiple license keys using either a comma (,) or a semicolon (;) as the separator between keys. + +{% tabs %} +{% highlight c# %} +Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY_1,YOUR LICENSE KEY_2,..."); +{% endhighlight %} +{% endtabs %} + +or + +{% tabs %} +{% highlight c# %} +Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY_1;YOUR LICENSE KEY_2;..."); +{% endhighlight %} +{% endtabs %} + N> * Place the license key between double quotes. Also, ensure that Syncfusion.Licensing.dll is referenced in your project where the license key is being registered (see the package name in the Prerequisites note above). * Syncfusion license validation is done offline during application execution and does not require internet access. Apps registered with a Syncfusion license key can be deployed on any system that does not have an internet connection. * If the license key is missing or invalid at runtime, a license dialog or warning will appear. For troubleshooting common registration failures, refer to the [Licensing FAQ](https://help.syncfusion.com/wpf/licensing/licensing-faq). From 56b55db9593d523d48bc50a7079f388d9e07a7a5 Mon Sep 17 00:00:00 2001 From: Paranthaman Palani Date: Mon, 13 Jul 2026 13:52:42 +0530 Subject: [PATCH 18/46] Reverted the unwanted changes --- wpf/Licensing/how-to-register-in-an-application.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wpf/Licensing/how-to-register-in-an-application.md b/wpf/Licensing/how-to-register-in-an-application.md index 297d907147..2dc00d7292 100644 --- a/wpf/Licensing/how-to-register-in-an-application.md +++ b/wpf/Licensing/how-to-register-in-an-application.md @@ -45,9 +45,9 @@ N> * Place the license key between double quotes. Also, ensure that Syncfusion.L I> Syncfusion license keys can be validated during the Continuous Integration (CI) processes to ensure proper licensing and prevent licensing errors during deployment. Refer to the [CI License Validation](https://help.syncfusion.com/wpf/licensing/licensing-faq/ci-license-validation) section for detailed instructions on how to implement it. -### Register in the App constructor +### WPF -You can register the license key in the **App** constructor in **App.xaml.cs** (C#). If an **App** constructor is not available in **App.xaml.cs**, create an `App()` constructor in **App.xaml.cs** and register the license key inside it. In Visual Basic, register the license key in **App.xaml.vb**. +You can register the license key in App constructor of **App.xaml.cs** in C#. If App constructor not available in **App.xaml.cs**, create the "App()" constructor in **App.xaml.cs** and register the license key inside the constructor. In Visual Basic, register the license code in **App.xaml.vb**. {% tabs %} {% highlight c# %} @@ -63,7 +63,7 @@ public partial class App : Application {% highlight vb %} Private Sub New() - 'Register Syncfusion license key + 'Register Syncfusion License Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY") End Sub {% endhighlight %} From 51d4761e9f4f61b00b6af4ee69503bdd2011ed23 Mon Sep 17 00:00:00 2001 From: Paranthaman Palani Date: Mon, 13 Jul 2026 13:54:53 +0530 Subject: [PATCH 19/46] Reverted the unwanted changes --- wpf/Licensing/how-to-register-in-an-application.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/wpf/Licensing/how-to-register-in-an-application.md b/wpf/Licensing/how-to-register-in-an-application.md index 2dc00d7292..29e1e162b3 100644 --- a/wpf/Licensing/how-to-register-in-an-application.md +++ b/wpf/Licensing/how-to-register-in-an-application.md @@ -9,9 +9,7 @@ documentation: ug # Register Syncfusion license key in a WPF application -N> **Prerequisites:** Install the Syncfusion WPF NuGet package (for example, `Syncfusion.Licensing.Wpf`, or the platform-specific control package that depends on it) from the Syncfusion NuGet feed, and ensure `Syncfusion.Licensing.dll` is referenced in your project. Licensing support is available in Syncfusion Essential Studio version 16.1.0.24 and later. - -The generated license key is a string that must be registered before any Syncfusion control is initialized. The `Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense` method takes the license-key string as its only parameter and returns `void`. The following code registers the license. +The generated license key is just a string that needs to be registered before any Syncfusion control is initiated. The following code is used to register the license **Registering a single license key** From 693b407c27462785173f0231538fdc258ff975ca Mon Sep 17 00:00:00 2001 From: Paranthaman Palani Date: Mon, 13 Jul 2026 13:59:05 +0530 Subject: [PATCH 20/46] Included the grammatical changes --- wpf/Licensing/how-to-register-in-an-application.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wpf/Licensing/how-to-register-in-an-application.md b/wpf/Licensing/how-to-register-in-an-application.md index 29e1e162b3..acd3f1269c 100644 --- a/wpf/Licensing/how-to-register-in-an-application.md +++ b/wpf/Licensing/how-to-register-in-an-application.md @@ -9,7 +9,7 @@ documentation: ug # Register Syncfusion license key in a WPF application -The generated license key is just a string that needs to be registered before any Syncfusion control is initiated. The following code is used to register the license +The generated license key is just a string that needs to be registered before any Syncfusion control is initiated. The following code is used to register the license. **Registering a single license key** From 877a27f8f63ed60dfb81269aae7e3d534df94acb Mon Sep 17 00:00:00 2001 From: Paranthaman Palani Date: Mon, 13 Jul 2026 14:10:41 +0530 Subject: [PATCH 21/46] Reverted the unwanted notes --- wpf/Licensing/how-to-register-in-an-application.md | 1 - 1 file changed, 1 deletion(-) diff --git a/wpf/Licensing/how-to-register-in-an-application.md b/wpf/Licensing/how-to-register-in-an-application.md index acd3f1269c..e2ef96a20a 100644 --- a/wpf/Licensing/how-to-register-in-an-application.md +++ b/wpf/Licensing/how-to-register-in-an-application.md @@ -39,7 +39,6 @@ Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY N> * Place the license key between double quotes. Also, ensure that Syncfusion.Licensing.dll is referenced in your project where the license key is being registered (see the package name in the Prerequisites note above). * Syncfusion license validation is done offline during application execution and does not require internet access. Apps registered with a Syncfusion license key can be deployed on any system that does not have an internet connection. -* If the license key is missing or invalid at runtime, a license dialog or warning will appear. For troubleshooting common registration failures, refer to the [Licensing FAQ](https://help.syncfusion.com/wpf/licensing/licensing-faq). I> Syncfusion license keys can be validated during the Continuous Integration (CI) processes to ensure proper licensing and prevent licensing errors during deployment. Refer to the [CI License Validation](https://help.syncfusion.com/wpf/licensing/licensing-faq/ci-license-validation) section for detailed instructions on how to implement it. From 716c6cce4e7e1fa099619e56d7c54a7d8df18bb5 Mon Sep 17 00:00:00 2001 From: "124353880+ArunKumarSF4054@users.noreply.github.com" <124353880+ArunKumarSF4054@users.noreply.github.com> Date: Mon, 13 Jul 2026 17:06:57 +0530 Subject: [PATCH 22/46] WPF-1038172-Updated_API_links --- wpf/Diagram/Diagram-Ribbon.md | 2 +- wpf/Diagram/Interaction/Selection.md | 2 +- wpf/Diagram/Scroll-Settings/ScrollLimit.md | 3 +-- wpf/Diagram/Swimlane/Lane/Interaction.md | 4 ++-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/wpf/Diagram/Diagram-Ribbon.md b/wpf/Diagram/Diagram-Ribbon.md index 06ac250090..ca10830546 100644 --- a/wpf/Diagram/Diagram-Ribbon.md +++ b/wpf/Diagram/Diagram-Ribbon.md @@ -37,7 +37,7 @@ The following table lists actions that end-users can perform using the Diagram R Refer to the [control dependencies](https://help.syncfusion.com/wpf/control-dependencies#diagram-ribbon) section to get the list of assemblies or NuGet package that needs to be added as a reference to use the control in any application. You can find more details about installing the NuGet package in a WPF application in the following link: -[How to install nuget packages](https://help.syncfusion.com/wpf/visual-studio-integration/nuget-packages) +[How to install nuget packages](https://help.syncfusion.com/wpf/visual-studio-integration/download-and-installation) ## Adding Diagram Ribbon diff --git a/wpf/Diagram/Interaction/Selection.md b/wpf/Diagram/Interaction/Selection.md index 210a6fa287..8af9d80081 100644 --- a/wpf/Diagram/Interaction/Selection.md +++ b/wpf/Diagram/Interaction/Selection.md @@ -41,7 +41,7 @@ Multiple selected elements are visually represented as shown. ![multiple selection](Interaction_images/multiselect.gif) -* [SelectorChangedEvent](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.IGraphInfo.html) will notify you the OffsetX, OffsetY, Height, Width, Rotate Angle and interaction state with their old and new values. To explore about arguments, please refer to [SelectorChangedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SelectorChangedEventArgs.html) . +* [SelectorChangedEvent](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.IGraphInfo.html#Syncfusion_UI_Xaml_Diagram_IGraphInfo_SelectorChangedEvent) will notify you the OffsetX, OffsetY, Height, Width, Rotate Angle and interaction state with their old and new values. To explore about arguments, please refer to [SelectorChangedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SelectorChangedEventArgs.html) . #### Selection mode diff --git a/wpf/Diagram/Scroll-Settings/ScrollLimit.md b/wpf/Diagram/Scroll-Settings/ScrollLimit.md index a8d2061246..f7bc56a82c 100644 --- a/wpf/Diagram/Scroll-Settings/ScrollLimit.md +++ b/wpf/Diagram/Scroll-Settings/ScrollLimit.md @@ -90,8 +90,7 @@ diagram.ScrollSettings = new ScrollSettings() | Limited
ScrollableArea = (0,0,1500,1500) | ![ScrollLimit Limited](Scroll-Settings_images/ScrollLimitLimited.gif) | [View Sample in GitHub](https://github.com/SyncfusionExamples/WPF-Diagram-Examples/tree/master/Samples/Interaction/DiagramScrollUsingArrowKeys) -## See Also -[How to stop infinite scrolling?](https://support.syncfusion.com/kb/article/9869/how-to-stop-infinite-scrolling-in-wpf-diagram-sfdiagram) +## See Also [How to stop infinite scrolling in WPF Diagram (SfDiagram)?](https://support.syncfusion.com/kb/article/9869/how-to-stop-infinite-scrolling-in-wpf-diagram-sfdiagram) \ No newline at end of file diff --git a/wpf/Diagram/Swimlane/Lane/Interaction.md b/wpf/Diagram/Swimlane/Lane/Interaction.md index 7e20edab63..4e04ff131f 100644 --- a/wpf/Diagram/Swimlane/Lane/Interaction.md +++ b/wpf/Diagram/Swimlane/Lane/Interaction.md @@ -22,7 +22,7 @@ A Lane can be selected by clicking (tap) the header of the lane. * Lane can be resized by resizing the bottom and right border of the lane without make a selection. * Once you can resize the lane, the swimlane will be resized automatically. * The lane can be resized either resizing the selector or the tight bounds of the child object. If the child node move to edge of the lane it can be automatically resized. -* The `SwimlaneChildChangedEvent` will notify the [`UnitHeight`](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SwimlaneChildViewModel.html#Syncfusion_UI_Xaml_Diagram_SwimlaneChildViewModel_UnitHeight) and [`UnitWidth`](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SwimlaneChildViewModel.html#Syncfusion_UI_Xaml_Diagram_SwimlaneChildViewModel_UnitWidth) changes with their old and new values. Along with that, this event will give information about interaction state. To explore about arguments, refer to the [SwimlaneChildChangedEvent](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.IGraphInfo.html) +* The `SwimlaneChildChangedEvent` will notify the [`UnitHeight`](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SwimlaneChildViewModel.html#Syncfusion_UI_Xaml_Diagram_SwimlaneChildViewModel_UnitHeight) and [`UnitWidth`](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SwimlaneChildViewModel.html#Syncfusion_UI_Xaml_Diagram_SwimlaneChildViewModel_UnitWidth) changes with their old and new values. Along with that, this event will give information about interaction state. To explore about arguments, refer to the [SwimlaneChildChangedEvent](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.IGraphInfo.html#Syncfusion_UI_Xaml_Diagram_IGraphInfo_SwimlaneChildChangedEvent) The following image shows how to resize the lane. @@ -31,7 +31,7 @@ The following image shows how to resize the lane. ## Lane swapping * Lanes can be swapped by dragging the lanes over another lane. -* The `SwimlaneChildChangedEvent` will notify the [`RowIndex`](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SwimlaneChildChangedEventArgs.html#Syncfusion_UI_Xaml_Diagram_SwimlaneChildChangedEventArgs_RowIndex) and [`ColumnIndex`](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SwimlaneChildChangedEventArgs.html#Syncfusion_UI_Xaml_Diagram_SwimlaneChildChangedEventArgs_ColumnIndex) changes with their old and new values. Along with that, this event will give information about interaction state. To explore about arguments, refer to the [SwimlaneChildChangedEvent](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.IGraphInfo.html) +* The `SwimlaneChildChangedEvent` will notify the [`RowIndex`](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SwimlaneChildChangedEventArgs.html#Syncfusion_UI_Xaml_Diagram_SwimlaneChildChangedEventArgs_RowIndex) and [`ColumnIndex`](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.SwimlaneChildChangedEventArgs.html#Syncfusion_UI_Xaml_Diagram_SwimlaneChildChangedEventArgs_ColumnIndex) changes with their old and new values. Along with that, this event will give information about interaction state. To explore about arguments, refer to the [SwimlaneChildChangedEvent](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.Diagram.IGraphInfo.html#Syncfusion_UI_Xaml_Diagram_IGraphInfo_SwimlaneChildChangedEvent) * Helper should intimate the insertion point while lane swapping. The following image shows how to swap the lane. From 946a18499013b3e9a4e6b9e122f70a4e09cdd9b5 Mon Sep 17 00:00:00 2001 From: GokulSF4339 Date: Wed, 15 Jul 2026 16:31:05 +0530 Subject: [PATCH 23/46] 1041131- Updated content and code alignment issue in WPF Scheduler control. --- wpf/Scheduler/Accessibility.md | 2 +- wpf/Scheduler/Appointments.md | 2 +- wpf/Scheduler/ContextMenu-Commands.md | 36 +++++++++++++-------------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/wpf/Scheduler/Accessibility.md b/wpf/Scheduler/Accessibility.md index 3c4841a6ef..251e41674b 100644 --- a/wpf/Scheduler/Accessibility.md +++ b/wpf/Scheduler/Accessibility.md @@ -11,7 +11,7 @@ documentation: ug ## Screen reader support -The `[WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler)` can easily be accessed by the screen readers. Please find the following table to get the spoken feedback about the inner element contents of the screen. +The [WPF Scheduler](https://www.syncfusion.com/scheduler-sdk/wpf-scheduler) can easily be accessed by the screen readers. Please find the following table to get the spoken feedback about the inner element contents of the screen. #### Month view diff --git a/wpf/Scheduler/Appointments.md b/wpf/Scheduler/Appointments.md index f98f949c2e..788625a643 100644 --- a/wpf/Scheduler/Appointments.md +++ b/wpf/Scheduler/Appointments.md @@ -384,7 +384,7 @@ N> Map those properties of Meeting class to schedule appointment by using the `A xmlns:syncfusion="http://schemas.syncfusion.com/wpf"> - + - - - - - - + + + + + + @@ -68,18 +68,18 @@ that contains the Appointment or DateTime of the corresponding cell. xmlns:syncfusion="http://schemas.syncfusion.com/wpf"> - - - - - - - - + + + + + + + + From b530d3f2ffc0d9ac0e971bffdf2408cee4fbbb28 Mon Sep 17 00:00:00 2001 From: "124353880+ArunKumarSF4054@users.noreply.github.com" <124353880+ArunKumarSF4054@users.noreply.github.com> Date: Thu, 16 Jul 2026 16:12:41 +0530 Subject: [PATCH 24/46] Getting started File Updated --- wpf/Diagram/Getting-Started.md | 43 +++++++++++++++++----------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/wpf/Diagram/Getting-Started.md b/wpf/Diagram/Getting-Started.md index c35c710f14..656b937dc5 100644 --- a/wpf/Diagram/Getting-Started.md +++ b/wpf/Diagram/Getting-Started.md @@ -11,7 +11,7 @@ documentation: ug ## Assembly deployment -Refer to the [control dependencies](https://help.syncfusion.com/wpf/control-dependencies#sfdiagram) section to get the list of assemblies or NuGet package that needs to be added as a reference to use the control in any application. +Refer to the [control dependencies](https://help.syncfusion.com/wpf/control-dependencies#sfdiagram) section to get the list of assemblies or NuGet package that need to be added as a reference to use the control in any application. You can find more details about installing the NuGet package in a WPF application in the following link: [How to install nuget packages](https://help.syncfusion.com/wpf/installation/install-nuget-packages) @@ -21,7 +21,7 @@ The following section helps you to build your application with [WPF Diagram](htt ## Creating the project -Create new WPF project using Visual Studio. For more [details](https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2008/bb546958(v=vs.90)). +Create a new WPF project using Visual Studio. For more [details](https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2008/bb546958(v=vs.90)). ### Adding control via Designer @@ -50,7 +50,7 @@ N> Starting with v16.2.0.x, if you reference Syncfusion® assemblies from trial xmlns:syncfusion="http://schemas.syncfusion.com/wpf" x:Class="SfDiagram_WPF.MainWindow" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> - + @@ -75,6 +75,8 @@ To add control manually in C#, do the following steps: {% highlight C# %} using Syncfusion.UI.Xaml.Diagram; +using System.Windows; +using System.Windows.Controls; namespace SfDiagram_WPF { @@ -115,7 +117,7 @@ Let us create a simple flow chart using SfDiagram. ### Initialize the Diagram -The SfDiagram exists in the Syncfusion.UI.Xaml.Diagram namespace. Initialize SfDiagram in XAML as shown in the following code example. +The SfDiagram resides in the Syncfusion.UI.Xaml.Diagram namespace. Initialize SfDiagram in XAML as shown in the following code example. {% tabs %} @@ -138,7 +140,7 @@ SfDiagram diagram =new SfDiagram(); ### Initialize nodes and connectors -To initialize the nodes and connectors properties of the SfDiagram, the Nodes property is assigned with the NodeCollection, that is, ObservableCollection of the Node. +To initialize the nodes and connectors properties of the SfDiagram, the Nodes property is assigned with the NodeCollection, an ObservableCollection of Node. The Connectors property is assigned with the ConnectorCollection, that is, ObservableCollection of the Connector. {% tabs %} @@ -171,11 +173,11 @@ diagram.Connectors = new ConnectorCollection(); ### Add nodes -Let us create and add a NodeViewModel with height, width, shape, shape style, specific position, size, and annotation. +Let us create and add a NodeViewModel with height, width, shape, shape style, specific position, and annotation. #### Creating a node -Creating NodeViewModel with specified height and width at a specific position. +Creating a NodeViewModel with specified height and width at a specific position. {% tabs %} {% highlight xaml %} @@ -196,7 +198,7 @@ NodeViewModel Begin = new NodeViewModel() #### Adding shape and style to node -We have provided set of basic shapes for Diagram as ResourceDictionary. To use the built-in shapes, Shapes dictionary should be merged in the application. +We have provided a set of basic shapes for Diagram as ResourceDictionary. To use the built-in shapes, Shapes dictionary should be merged into the application. Please refer to [Shapes](https://help.syncfusion.com/wpf/diagram/shapes) to know about built-in Shapes. {% tabs %} @@ -340,7 +342,7 @@ You can add multiple nodes with different shapes into diagram as NodeViewModel. NodeViewModel Begin = AddNode(300, 60, 120, 40, "Begin", "Ellipse"); //Create Process node NodeViewModel Process = AddNode(300, 140, 120, 60, "Process", "PredefinedProcess"); -//Creae End node +//Create End node NodeViewModel End = AddNode(300, 225, 40, 40, "End", "Ellipse"); //Add Node to Nodes property of the Diagram @@ -379,11 +381,11 @@ Finally, all the nodes are added to diagram and they will be as follows. ### Add connectors -Connector is to make connection or link between two nodes, ports, and points. +A connector is to make connection or link between two nodes, ports, and points. -#### Create connector With source node and target node +#### Create connector with source node and target node -Here, the `SourceNodeID` and `TargetNodeID` properties of the Connector are used. These properties will be assigned with the `ID` property of the node. +Here, the `SourceNodeID` and `TargetNodeID` properties of the Connector are used. These properties will be assigned with the `ID` property of the node. The default connector type is Orthogonal. {% tabs %} {% highlight xaml %} @@ -400,7 +402,7 @@ ConnectorViewModel connector1 = new ConnectorViewModel() #### Adding connector geometry style -Here, the `ConnectorGeometryStyle` property of the Connector are used to customize the appearance of the line. And, `SourceDecoratorStyle` and `TargetDecoratorStyle` properties are used to customize the appearance of the decorators. +Here, the `ConnectorGeometryStyle` property of the Connector is used to customize the appearance of the line. And, `SourceDecoratorStyle` and `TargetDecoratorStyle` properties are used to customize the appearance of the decorators. {% tabs %} {% highlight xaml %} @@ -511,10 +513,10 @@ xmlns:stencil="clr-namespace:Syncfusion.UI.Xaml.Diagram.Stencil;assembly=Syncfus #### Define SymbolSource -`SymbolSource` is the property of stencil, which is a collection of objects like symbol, node, connector, and more. Based on the SymbolSource, the Stencil will populate the Symbols. And the `SymbolGroupProvider` groups the symbols into SymbolGroup based on the `MappingName` property. +`SymbolSource` is the property of stencil, which is a collection of objects like symbol, node, connector, and more. Based on the SymbolSource, the Stencil will populate the Symbols. And the `SymbolGroupProvider` groups the symbols into SymbolGroups based on the `MappingName` property. {% tabs %} -{% highlight xaml %} +{% highlight xaml %}Create connector With source node and target node () { new StraightSegment() } @@ -692,7 +694,7 @@ xmlns:stencil="clr-namespace:syncfusion.UI.Xaml.Diagram.Stencil;assembly=syncfus