Skip to main content

How to: Customize Time Scales in the Timeline View (legacy)

  • 2 minutes to read

Note

You are viewing documentation for the legacy WPF Scheduler control. If you’re starting a new project, we strongly recommend that you use a new control declared in the DevExpress.Xpf.Scheduling namespace. If you decide to upgrade an existing project in order to switch to the updated scheduler control, see the Migration Guidelines document.

This example illustrates how to access the time scale collection of the Timeline View (via the TimelineView.Scales property) and add TimeScale elements to make them available to end-users (for example, TimeScaleMonth, TimeScaleWeek and TimeScaleDay). This approach can be helpful if you wish to hide specific time intervals in the Timeline View.

To change the format of a single scale header, adjust the TimeScale.DisplayFormat property of the corresponding TimeScale object.

You can also implement your own custom time scales and add them to the TimelineView.Scales collection. This example demonstrates the comparatively simple task of creating a scale with a fixed interval (four hours) by inheriting from the TimeScaleFixedInterval class. For more complex tasks, use the TimeScale descendants and override key methods.

<dxsch:SchedulerControl.TimelineView>
    <dxsch:TimelineView IntervalCount="12" 
                    TimelineScrollBarVisible="False">
        <dxsch:TimelineView.Scales>
            <dxschcore:TimeScaleCollection>
                <dxschcore:TimeScaleMonth />
                <dxschcore:TimeScaleWeek />
                <dxschcore:TimeScaleDay DisplayFormat="ddd dd" />
                <local:CustomTimeScale />
            </dxschcore:TimeScaleCollection>
        </dxsch:TimelineView.Scales>
        <dxsch:TimelineView.AppointmentDisplayOptions>
            <dxsch:SchedulerTimelineViewAppointmentDisplayOptions ShowRecurrence="False"
                    ShowReminder="False" 
                    StartTimeVisibility="Auto"  
                    EndTimeVisibility="Auto" />
        </dxsch:TimelineView.AppointmentDisplayOptions>
    </dxsch:TimelineView>
</dxsch:SchedulerControl.TimelineView>
Public Class CustomTimeScale
    Inherits TimeScaleFixedInterval

    ' Fields
    Private Const defaultEnabled As Boolean = True
    ' Methods
    Public Sub New()
        MyBase.New(TimeSpan.FromHours(4.0))
    End Sub
    Protected Overrides ReadOnly Property DefaultDisplayName() As String
        Get
            Return "Custom Scale"
        End Get
    End Property
    Protected Overrides ReadOnly Property DefaultMenuCaption() As String
        Get
            Return "Custom Scale"
        End Get
    End Property
End Class

As a result, the following time scales will be available for end-users in the Timeline View.

TimelineView_CustomizeTimeScales