Add built-in drag/drop support for the items in the Timeline control.
You can find a custom solution in the following SDK sample project: https://github.com/telerik/xaml-sdk/tree/master/Timeline/WPF/DragDrop.
Would expect the following functionality:
With ZoomMode=ScrollAndZoom enabled, I like how I can use my mouse and the scrollbar to scroll and zoom.
Help me understand why I cannot do the same with the mouse wheel or click/drag?
Current RadTimeline allows me to:
a) Use the Scroll Wheel to Zoom In/Out
b) Nothing else, correct?
Other similar controls would allow the following:
a) Use Scroll Wheel to PAN/SCROLL by default
b) Use Ctrl + Scroll Wheel to ZOOM
Another option to ScrollZoomPan would be nice as well. Having to custom add basic pan/zoom features makes the use of 3rd party controls less appealing.
The control's performance is low and in most cases the application hangs when you try to reset the control's zoom to its initial state. This happens in a scenario with big period range (for example 2 years) and when a MinuteInterval is defined. When you zoom-in to a level where the minutes are displayed and then you try to zoom out with the scrollbar (or if you change manually the VisiblePeriod to match the PeriodStart and PeriodEnd), the application hangs. Workaround: Remove the MinuteInterval from the Intervals collection just before changing the VisiblePeriod and then add it again in the collection. private void ButtonBase_OnClick(object sender, RoutedEventArgs e) { var interval = _timeline.Intervals.FirstOrDefault(i => i is Telerik.Windows.Controls.TimeBar.MinuteInterval); if (interval != null) { _timeline.Intervals.Remove(interval); } _timeline.VisiblePeriod = new SelectionRange<DateTime>(_timeline.PeriodStart, _timeline.PeriodEnd); if (interval != null) { _timeline.Intervals.Add(interval); } }
If the RadTimeline control is placed in a DataTemplate and the ItemTemplateSelector property is set in XAML, the selector is never used.
This is not reproducible if the RadTimeline control is not in a DataTemplate.
To work this around set the ItemTemplateSelector property in code-behind, after the RadTimeline control is initialized. You can use the Loaded event of the control.
Feature request:
Please provide a vertical layout for Timeline. This would improve the readability in many scenarios, in particular to avoid overlapping when long text is displayed. An example of the idea is attached
Steve Conrad
If you click on the collapse/expand button of a group (when the data is grouped) while you add or remove an item from the ItemsSource of RadTimeline, all items disappear.
To work this around set the AnimationManager.AnimationSelector attached property on all TimelineItemGroupControl elements to null. You can do this using an implicit style.
<
Window.Resources
>
<
Style
TargetType
=
"telerik:TimelineItemGroupControl"
>
<
Setter
Property
=
"telerik:AnimationManager.AnimationSelector"
Value
=
"{x:Null}"
/>
</
Style
>
</
Window.Resources
>
This could be implemented also in the RadTimeBar control. Here is a sample implementation of the new method: private Point ConvertDateTimeToPoint(DateTime dateTime, RadTimeBar timeBar) { var periodStart = timeBar.VisiblePeriodStart; var periodEnd = timeBar.VisiblePeriodEnd; TimeSpan period = periodEnd - periodStart; var visibleTimeArea = this.timeBar.ActualWidth; var ticks = (dateTime - periodStart).Ticks; var pixelsPerTick = visibleTimeArea / period.Ticks; var x = ticks * pixelsPerTick; return new Point(x, 0); }
RadTimeline throws OutOfMemoryException when you zoom to a small interval type (e.g. SecondInterval, MillisecondInterval) in case the control visualizes a very large period (e.g. 2-3 years). As a workaround you can limit the depth to which you can zoom using a larger value for the MinZoomRange property. Another way to go is to increase the IntervalSpans of the Interval. For example set IntervalSpans=500 in MillisecondInterval.
When using an ItemRowIndexGenerator with RadTimeline it would be great to have a RowLabelGenerator as well which provides labels for rows from the data context. There should also be a RowLabelStyle for styling the label. I have hacked in this feature in the current RadTimeline a few times now but it is quite cumbersome. See attached screenshoot.
Allow users to be able to change the viewport via panning over the RadTimeline.
Implement AnnotationTemplateSelector property of type DataTemplateSelector in order to provide a way to easily choose a TimelineAnnotation's DataTemplate based on the data object and the data-bound element.
The theme foreground is not applied on the group header when the theme is applied with StyleManager For example: The foreground for the Expression_Dark theme should be #FFDDDDDD, but instead it is #FF000000
The theme is not propagated to the TimelineStripLineControls when it is set on the timeline control with StyleManager. Which leads to the color of every second strip line using the default color for the Office_Black theme
At the moment the oppisite exists: ConvertPointToDateTime. But it would be great if ConvertDateTimeToPoint also exists. If I send a datetime parameter to the method I want it to return the specific point for that date in the timeline.