public void CreateTimelineCalculator( string calendarType, DateTime currentDateTime, DateTime minDateTime, DateTime maxDateTime ) { Debug.Assert(this.TimelineTray != null); ItemsSource = new TimelineCalendar(calendarType, m_timelineType, minDateTime, maxDateTime); ItemsSource.TimeFormat24 = TimeFormat24; m_calendarType = calendarType; if (ItemTemplate == null) { ItemTemplate = DefaultItemTemplate; } if (TextItemTemplate == null) { TextItemTemplate = DefaultTextItemTemplate; } if (ShortEventTemplate == null) { ShortEventTemplate = DefaultShortEventTemplate; } if (EventTemplate == null) { EventTemplate = DefaultEventTemplate; } if (m_calc != null) { m_calc.ClearEvents(); m_calc.ClearColumns(); } m_calc = new TimelineBuilder( this, CanvasPart, ItemTemplate, TextItemTemplate, TimelineWindowSize, ItemsSource, !IsMainBand ? ShortEventTemplate : EventTemplate, MaxEventHeight, IsMainBand, currentDateTime); m_calc.BuildColumns(); m_calcInitialized = true; }