Basically, TimeBar calculates the size of the labels and determines on each resize/zoom operation which view is the best current view, depending on the Intervals collection and the available size. The control always try to set the most detailed information, e.g. if you have set WeekInterval, HourInterval, MinuteInterval, the TimeBar will try to show the minutes if this is possible.
So, back to your questions:
1.GetFormatters returns a list for function -
in our case in HourFormatterProvider()
we have set 2 dates:
formatters = new Func<
date => date.ToString("H:mm"),
date => date.ToString("HH")
So, if it is possible, the TimeBar will show more detailed format (hours and minutes "H:mm") and if there is not enough space - just hours.
is used when one period control corresponds to a couple of interval items. For instance if you set the IntervalSpans
So, again depending on the available size and visible range the hours intervals would be (0:00 - 12:00) and (12:00 - 0:00) or 0:00, 1:00. By default the value of IntervalSpans is 1.
I hope this information helps. Please don't hesitate to write us back if you have more questions.