using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using Microsoft.Research.DynamicDataDisplay.Charts.Axes; namespace Microsoft.Research.DynamicDataDisplay.Charts { /// /// Represents a label provider for ticks. /// public class DateTimeLabelProvider : DateTimeLabelProviderBase { /// /// Initializes a new instance of the class. /// public DateTimeLabelProvider() { } public override UIElement[] CreateLabels(ITicksInfo ticksInfo) { object info = ticksInfo.Info; var ticks = ticksInfo.Ticks; if (info is DifferenceIn) { DifferenceIn diff = (DifferenceIn)info; DateFormat = GetDateFormat(diff); } LabelTickInfo tickInfo = new LabelTickInfo { Info = info }; UIElement[] res = new UIElement[ticks.Length]; for (int i = 0; i < ticks.Length; i++) { tickInfo.Tick = ticks[i]; string tickText = GetString(tickInfo); UIElement label = new TextBlock { Text = tickText, ToolTip = ticks[i] }; ApplyCustomView(tickInfo, label); res[i] = label; } return res; } } }