Backwards Compatibility
This article lists the breaking changes of the control.
Q3 2013
Changed
- In the Telerik.Windows.Controls.Scheduling.ZIndexManager class the GetZIndex has been changed.
What to do now:
This method was returning wrong Framework element type. It is now fixed and returns the correct Integer type. No changes are required.
Q3 2012
Common Changes
Changed
- Now the tree with the tasks' titles is not shown by default.
What to do now:
To show the tree with tasks' titles in the GanttView control, you need to define a column of type TreeColumnDefinition with MemberBinding set to {Binding Title}. You can specify whether this column is Frozen or not, editable or not and to set CellTemplate/CellEditTemplate as well as CellHighlightTemplate and CellSelectionTemplate.
Theme Changes
-
The ControlTemplate of the GanttItemsPresenter is now changed:
-
it doesn’t contain TreeRenderingPanel to display the Tree structure;
-
it doesn’t have ScrollContentPresenters for each area (and the ScrollContentPresenter class is deleted);
-
the root panel is now GanttPresenterPanel instead of Grid.
-
-
The styles of the GanttGroupHeaderContainer are not in use anymore. To style the Tree elements you should use the TreeCellContainer or SimpleTreeCellContainer classes.
-
The GanttViewSplitter is deleted and replaced with the GanttPresenterSplitter control.
-
The GanttDragVisualCue is changed to GanttDragResizeVisualCue.
-
Changed the GanttDragResizeVisualCue's Datacontext to bind to:
-
TargetItem.Title instead of Task.Title;
-
DestinationSlot.Start instead of Start;
-
DestinationSlot.End instead of End.
-
-
EventProxy's (the DataContext of the EventContainer) Subject property is renamed to Title.
Clean-up
All classes, properties and methods which are not intended to be used outside of the GanttView control are made internal/private.
Some classes and properties are renamed in order to have consistent and self-documenting API.
The following table lists the changed properties and methods:
| Before | Now |
|---|---|
| RadGanttView class | |
| GanttDragDropBehavior DragDropBehavior | ISchedulingDragDropBehavior DragDropBehavior |
| GanttResizeBehavior ResizeBehavior | ISchedulingResizeBehavior ResizeBehavior |
| IEnumerable TasksSource | IEnumerable TasksSource |
|
ColumnDefinition class | RelationType Type | DependencyType Type | Scheduling | SchedulingDragDropBehavior DragDropBehavior | ISchedulingDragDropBehavior DragDropBehavior SchedulingResizeBehavior ResizeBehavior | ISchedulingResizeBehavior ResizeBehavior | Rendering | TimeRulerContainerGenerator | DefaultTimeRulerContainerSelector TimeLineContainerGenerator | DefaultTimeLineContainerSelector
Q2 2012
-
Relations property of the GanttTask / IGanttTask is removed and Dependencies property is added instead.
The Relation class is changed and used for other purposes. A Dependency class is added which defines the relation in the opposite manner. For example if you have two tasks – A and B, in the old implementation A.Relations.Add(new Relation { Task = B }) means A -> B (or B depends on A) and in the new one its equivalent is B.Dependencies.Add(new Dependency { FromTask = A }) (or B depends on A).
You can check here for more details about setting a relation between the tasks.
-
RadGanttView.SelectionBehavior property is not public anymore – it is protected.
-
IGanttTask and GanttTask APIs changes:
-
GanttTask class now has Children and Dependencies properties of type IList and IList which are not settable, and support adding/removing items; the non-generic collections Children and Dependencies are implemented explicitly;
-
IGanttTask is changed – the GetSubItems method is removed, the Children property (as part of the IHierarchical interface) and the Depndencies properties are added;
An example how to add children to a task can be found here.
-