private void CreateTimedCountItems(long maxCount) { _heightMultiplier = BarMaxHeight / maxCount; string timeLineFormat = GroupTimeRange.TimeLineFormat(); var timedCountItemList = new List <TimedCountItem>(); int k = 0; foreach (var counter in TimedCountList) { // Time line is only shown on items of first, last-3, and optional other 2 items. bool isTimeLineVisible = (k == 0 || k == TimedCountList.Count - 3 || k == TimedCountList.Count / 3 || k == TimedCountList.Count * 2 / 3); DateTime startTime = (DateTime)counter.StartTime; string timeLine = isTimeLineVisible ? startTime.ToString(timeLineFormat) : null; timedCountItemList.Add( new TimedCountItem( counter, timeLine, _heightMultiplier, GroupTimeRange.TimeCountDuration())); ++k; } _timedCountItemsControl.ItemsSource = timedCountItemList; }