Skip to main content

TimelineView.TimeScaleTemplateSelector Property

Gets or sets the data template selector which chooses a template based on the time scale type. This is a dependency property.

Namespace: DevExpress.Xpf.Scheduling

Assembly: DevExpress.Xpf.Scheduling.v22.1.dll


public DataTemplateSelector TimeScaleTemplateSelector { get; set; }

Property Value

Type Description

A DataTemplateSelector descendant that is the time scale template selector.


The Timeline View can be bound to a collection of objects containing time scale settings, described in a Model or ViewModel (using the TimelineView.TimeScalesSource property).

The Timeline View uses time scale templates to generate time scales. To choose the required template based on the time scale type, use the template selector assigned to the TimeScaleTemplateSelector property. If all time scales can be described using a single template, you have no need to create a time scale template selector. Instead, assign this template to the view’s TimelineView.TimeScaleTemplate property.


The following example demonstrates how to specify time scales for the Timeline View using the MVVM architectural pattern.

Use the TimelineView.TimeScalesSource property to bind the view to a collection of objects containing time scale settings described in the ViewModel. The Timeline View generates time scales based on templates. Create multiple templates, one template for each time scale type. In this example, there are three time scale templates: WorkDayScaleTemplate, WorkHourScaleTemplate, and FixedTimeScaleTemplate.

To choose the required template based on the time scale type, create a template selector and assign it to the TimelineView.TimeScaleTemplateSelector property.


View Example

Imports System.Windows
Imports System.Windows.Controls
Imports System

Namespace WpfSchedulerTimelineScalesTemplate
    Public Class TimeScaleTemplateSelector
        Inherits DataTemplateSelector

        Public Property WorkDayScaleTemplate() As DataTemplate
        Public Property WorkHourScaleTemplate() As DataTemplate
        Public Property FixedTimeScaleTemplate() As DataTemplate
        Public Overrides Function SelectTemplate(ByVal item As Object, ByVal container As DependencyObject) As DataTemplate
            Dim timeScale As TimeScaleViewModel = TryCast(item, TimeScaleViewModel)
            Select Case timeScale.Type
                Case ScaleType.WorkDay
                    Return WorkDayScaleTemplate
                Case ScaleType.WorkHour
                    Return WorkHourScaleTemplate
                Case ScaleType.FixedTime
                    Return FixedTimeScaleTemplate
                Case Else
                    Throw New NotImplementedException()
            End Select
        End Function
    End Class
End Namespace
See Also