Imports System.Collections.Generic
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinSchedule
Imports System.Diagnostics
    Public Sub InitColumnProps(ByVal control As UltraTimelineView)
        '  Set ColumnAutoSizing to 'AllVisibleIntervals' so that when the user auto-sizes
        '  the columns, the width required to show the additional interval's captions is considered
        control.ColumnAutoSizing = TimelineViewColumnAutoSizing.AllVisibleIntervals
        '  Use the ColumnHeaderAppearance to customize the look for all headers
        control.ColumnHeaderAppearance.BackColor = Color.White
        control.ColumnHeaderAppearance.BackColor2 = Color.LightBlue
        control.ColumnHeaderAppearance.BorderColor = Color.DarkBlue
        control.ColumnHeaderAppearance.ForeColor = Color.DarkBlue
        '  Don't show images on the headers
        control.ColumnHeaderImageVisible = False
        '  Only display the minutes for the primary interval, if there is
        '  an additional interval being displayed for the hours.
        Dim hasHourInterval As Boolean = False
        For Each dti As DateTimeInterval In control.VisibleIntervals
            Dim timeInterval As TimeInterval = IIf(dti.GetType() Is GetType(TimeInterval), dti, Nothing)
            If Not timeInterval Is Nothing AndAlso timeInterval.IntervalUnits = TimeIntervalUnits.Hours Then
                hasHourInterval = True
            End If
        next
        control.PrimaryInterval.HeaderTextFormat = IIf(hasHourInterval, "mm", Nothing)
        '  Orient the text for the primary interval on a diagonal
        control.PrimaryInterval.HeaderTextOrientation = New TextOrientationInfo(45, TextFlowDirection.Horizontal)
        '  Set the ideal width for the column headers
        control.PerformColumnAutoResize(TimelineViewColumnAutoSizing.AllVisibleIntervals)
    End Sub