At initialization time, task items are defined using these main timing related properties:
GanttChartDataGrid.ApplyTemplate();
var start = DateTime.Today.Add(TimeSpan.Parse("10:00:00"));
var effort = TimeSpan.Parse("12:00:00");
var percentCompleted = 50.0;
var finish = GanttChartDataGrid.GetFinish(start, effort);
var completedFinish = GanttChartDataGrid.GetCompletedFinish(start, percentCompleted / 100, finish);
GanttChartDataGrid.Items.Add(new GanttChartItem {
Content = "Effort based task", Start = start, Finish = finish, CompletedFinish = completedFinish });
var start = new DateTime(year, month, 2, 10, 0, 0);
var effort = TimeSpan.FromHours(12);
var percentCompleted = 50.0;
var finish = GanttChartView.GetFinish(start, effort);
var completedFinish = GanttChartView.GetCompletedFinish(start, percentCompleted / 100, finish);
GanttChartView.AddItem(new GanttChartItem {
Content = "Effort based task", Start = start, Finish = finish, CompletedFinish = completedFinish });
var start = new Date(year, month, 2, 10, 0, 0),
effort = 12 * 60 * 60 * 1000,
percentCompleted = 50;
var finish = ganttChartView.getOutputDate(
ganttChartView.getFinish(ganttChartView.getInputDate(start), effort));
var completedFinish = ganttChartView.getCompletedFinish(start, percentCompleted / 100, finish);
ganttChartView.addItem({
content: "Effort based task", start: start, finish: finish, completedFinish: completedFinish });
At runtime, task items also provide these read/write properties that you can supplementary use: