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.