Intersoft ClientUI Documentation
UXScheduleDayView

UXScheduleDayView is one of the built-in scheduling controls available in the UXScheduleView control lineup. It is specifically designed to display data in day layout. It shares common features with UXScheduleView or other scheduling views such as UXScheduleWeekView, UXScheduleWorkWeekView and UXScheduleMonthView. To learn more about the shared core features, see UXScheduleView Overview.

Using UXScheduleDayView

UXScheduleDayView is inherited from UXScheduleViewBase which means that it shares common core features with other scheduling controls such as UXScheduleWeekView, UXScheduleWorkWeekView and UXScheduleMonthView. To learn more about the core features in UXScheduleDayView, see UXScheduleView Overview.

Customizing Number of Visible Days

UXScheduleDayView is used to display data in daily manner. Time-based events will be displayed in the time cell area while the all-day events will be displayed in the all-day event area located in the top section of the control. The UXScheduleDayView is completely customizable, you can customize many of its behaviors such as the number of days visible, work hours, visible hours, time interval and many more.

To customize the number of visible days in UXScheduleDayView, you set the NumberOfDays property such as shown in the code example below.

NumberOfDays
Copy Code
<Intersoft:UXScheduleDayView x:Name="SampleControl1" DisplayDate="1/2/2012" NumberOfDays="4"
            EventsSource="{Binding Events}" CategoriesSource="{Binding Categories}" ResourcesSource="{Binding Resources}"/>

Customizing Work Hours

Another element that you can customize in UXScheduleDayView is the working hour. In UXScheduleDayView, the time cells that indicate working hours are shown in white background, while the non-working hours are shown in light blue background. You can customize the working hours by customizing the DayStartTime and DayEndTime properties. By default, the working hours start from 08:00:00 to 17:00:00.

Work Hours
Copy Code
<Intersoft:UXScheduleDayView  DisplayDate="1/4/2012" DayStartTime="07:00:00" DayEndTime="19:00:00"            
            EventsSource="{Binding Events}" CategoriesSource="{Binding Categories}" ResourcesSource="{Binding Resources}"/>

Customizing Visible Hours

Furthermore, if you need to restrict the visible hours due to your application's requirements, you can easily customize the visible hours by simply customizing the VisibleStartTime and VisibleEndTime properties. By default, UXScheduleDayView will list all hours in a day.

Visible Hours
Copy Code
<Intersoft:UXScheduleDayView DisplayDate="1/4/2012" VisibleStartTime="06:00:00" VisibleEndTime="22:00:00"
            EventsSource="{Binding Events}" CategoriesSource="{Binding Categories}" ResourcesSource="{Binding Resources}"/>

Customizing Time Interval

You can also change the time interval between hours in UXScheduleDayView by customizing the TimeInterval property. The time interval is recommended to be a rounded value when divided by an hour, for example:

If the specified value is not one of the values above, it will be automatically rounded to the nearest value for the best viewing experiences.

Time Interval
Copy Code
<Intersoft:UXScheduleDayView DisplayDate="1/2/2012" TimeInterval="00:15:00"            
            EventsSource="{Binding Events}" CategoriesSource="{Binding Categories}" ResourcesSource="{Binding Resources}"/>

Configuring Number of Items Visible in All-day Event Area

The all-day event area is used to display all-day events in a common scheduling application. Whenever there are overlapping event, the height of all-day event area will grow until certain limit specified in the MaxAllDayEventItem property. Furthermore, you can also set the MinAllDayEventItem to determine the minimum height of the all-day event area.

Built-in User Experience Features

In addition to the customizable behaviors, UXScheduleDayView is also packed with rich built-in UX features such as discussed in the following sections.

Smart Time indicator

When you scroll the time cell area, you will notice that the am/pm time designator is smartly updated depending on the first visible time.

Current Hour Indicator

One of the impressive UX features in UXScheduleDayView is the current hour indicator element which indicates the current time in your local computer. The indicator is updated on minute interval, which is enabled by default. To disable this feature, you set the TodayHourLineVisibility to Collapsed, or IsTodayHighlighted to false.

Auto Header Text Adjustment

The header of each day cell in UXScheduleDayView implements smart adjustment depending on the available width. It will check whether all header elements have enough space to display the full day of week text. If one or more headers do not have enough space, it will automatically use the short day of week text instead. If there are still one or more header elements that do not have enough space, it will collapse the day of week text and only display the date.

Keyboard Gestures

UXScheduleDayView also implements sophisticated keyboard gesture that you can use to navigate cell and views, perform inline editing, navigating through events. etc. The following table provide a list of keyboard gestures that you can perform based on certain conditions.

When selecting a cell

Key Action
Left Arrow Key Move one cell to the left. If the current cell is the at the most left position of the current view, go to previous date of range and select the most right cell when the view is changed.
Right Arrow Key Move one cell to the right. If the current cell is the at the most right position of the current view, go to next date of range depending and select the most left cell when the view is changed.
Up Arrow Key Move one cell upward. If the current cell is at the top most position of the current view port, scroll the view to the previous cell and select that cell. If no more scrolling can be done select the all day event area.
Down Arrow Key Move one cell downward. If the current cell is at the bottom most position of the current view port, scroll the view to the next cell and select that cell.
Page Down Scroll the view to the next view port and select the cell.
Page Up Scroll the view to the previous view port and select the cell.
Any keys or enter key Depending on the InsertKeyMode and whether the insertion is enabled, pressing any keys or enter key will create a new event in the current selected cells. If you press escape afterward it will select the previous cells.
Tab Move to the next nearest event.
Shift + Tab Move to the previous nearest event.
If the Shift modifier key is hold when navigating the cells using Left Arrow, Right Arrow, Up Arrow, Down Arrow, Page Up and Page Down; multiple cells will be selected starting from the current position to the target position.

When selecting an event

Key Action
Left Arrow Key Select the cell positioned at the left of the event's start date.
Right Arrow Key Select the cell positioned at the left of the event's end date.
Up Arrow Key Select the cell positioned at the top of the event's start date.
Down Arrow Key Select the cell positioned at the bottom of the event's end date.
Page Down Scroll the view to the next view port.
Page Up Scroll the view to the previous view.
F2 Enter inline editing mode when editing event is enabled.
Tab Move to the next nearest event.
Shift + Tab Move to the previous nearest event.

Auto Scroll

Whenever your select a cell with keyboard or mouse, or moving from one event to another event to an element that is outside the view, UXScheduleDayView will scroll directly to that particular element using the auto scroll feature.

Scrolling Behavior

UXScheduleDayView implements a unique scrolling behavior. When you scroll the time-cell area or all-day event area, it will move one cell at a time or one event at a time which gives smooth scrolling experiences. In addition, the view is designed with state-of-the-art layout rendering which allows all rows to be displayed with pixel-perfect height thus eliminates the possibility of partial cell display.

Customizing UXScheduleDayView Appearance

You can customize the UXScheduleDayView appearance through the following properties.

If you would like to completely customize the control appearance or if you want to change the styles of each visual state available in UXScheduleDayView, you can edit the template of the control and do the modification accordingly.

To learn more how to change the template and the visual states, see Styles and Template Overview.

See Also