Timeline control fill a missing part in WPF toolbox.
It allow you to show visual representation of data on visual timeline such as present in MS Project application.
TimelineControl is highly customizable using DataTemplate and Style and is 100% C# WPF managed code.
New 22.214.171.124 version release
TimelineControl was born during my work on a project called D.N.A. which required to present data on visual timeline.
I have google for WPF timeline control but with very little results. So I took the little result found and start getting into the subject.
The result is this TimelineControl that is 100% WPF managed code control which take advantage of DataTemplate, Style and ItemsPanel.
This control is customizable to your needs.
I have implemented a GanttItemsPresenter which arrange the items from left (minimum date) to right (maximum date) and top to bottom order is controlled by properties on your data entities.
TimelineControl also support connections between items. In my project I use them to present dependencies between tasks.
There is complete separation between your data model and the visual model of the TimelineControl.
See the test application for more information.
to see the control in action.
You can create fully functional WPF gantt application with this control, see the sample application.
The TimelineControl now tracks both Items and Connections collections.
When you add or remove any of them the TimelineControl will update as needed.
The TimelineRuler control, used to display date and time, is not as good as I want it to be.
There are not enough virtualization so very long timeline might be slow. By long I mean 5 years and above.
I have used the FrictionScrollViewer
in this project. The article and license can be found
I have include the
in the library (not used it inside TimelineControl) and also I have used it in the sample application. The article and licence can be found on the
- Add change tracking to individual items
- Make TimelineRulerControl display date and times more clearly
- Make TimelineControl virtualize as much as possible to allow long duration (10Y+) timeline fast.