Icon

DlhSoft Gantt Chart Library

for Windows® Presentation Foundation (WPF) and .NET 4+

Product Features

Gantt Chart Library for WPF 4 contains task hierarchy and resource scheduling controls, providing both basic and advanced features, and being optimized both for developers and end users.


Design Time Features of the Controls (for developers)

  • Provide interactive Gantt Chart based user interface objects for viewing and editing project task hierarchies and resource schedules;
  • Integrate with Visual Studio® development environment; reference documentation is available in Visual Studio® style; supports all .NET languages, including but not limited to C# and Visual Basic® .NET;
  • Very similar in appearance, behavior, and development related features with the standard ListView, ItemsControl, and ContentControl controls;
  • Allow data binding and managing task indentation, content, start date and time, effort, completed effort, assignments, predecessors, cost, and expansion values, resource content, and cost values, and schedule definition values programatically; task and resource management business logic may be used separately by accessing the included TaskManager and/or ResourceManager components that the controls also leverage internally;
  • Include extended Model-View-ViewModel (MVVM) pattern based development support (Prism);
  • Use standard GridViewColumn objects within the Columns definition of a GridView to indicate custom columns to be displayed in the user interface, and/or the TreeGridViewColumn object to indicate the column to be displayed as a tree view;
  • Use customized Gantt Chart scale headers, such as one or more of the predefined time scales (hours, days, weeks, months, quarters, years) or other user defined time scales, using the Scales property;
  • Show or hide nonworking days and nonworking hours in the Gantt Chart, using the AreNonworkingDaysVisible and AreNonworkingHoursVisible properties;
  • Set up a custom schedule defining the working time to be used for determining and updating task date and times and time spans using the Schedule property;
  • Enumerate critical path in the view in order to highlight task bars in the view;
  • Visualize actual and baseline (estimated) task timing values for comparison in the same view;
  • Automatically level resources by updating task timing information using a single LevelResources method call;
  • Fully customize task and resource bars, dependency lines, tree node expanders, and the general control user interface by using custom brushes, styles, and templates;
  • Print or export images representing the task or resource grid and/or its associated Gantt Chart;
  • Export data to Microsoft Project® XML files*;
  • Generate resource allocation load charts based on task assignment data available within your Gantt Chart control instances;
  • Extensibility is provided through exposed properties, events, and type inheritance support;
  • We will develop and add new features requested by customers to future product builds for free if we consider that they enable high valued and common development scenarios. Moreover, we can customize and integrate the components into an application or larger solution based on your specific requirements, as we also offer a full range of convenient software development services.

* Features requested by customers that have been developed and added to previous product builds for free.

Runtime Features of the Controls (for end users)

  • Ability to add and remove tasks or resources, expand and close tasks, update existing task values either from the task data grid or from the Gantt Chart using drag and drop operations, and/or update existing resource values from the resource data grid;
  • The current culture (language and region) set by the end user (using the Regional and Language Options) is used by default for displaying and retrieving values such as numbers or dates and times;
  • The current theme provided by the operating system (Aero, Luna, etc.) or configured by the end user is used by default.

Screenshot and Intro Source Code (GanttChartTaskListView control)

Gantt Chart with task list view

<pdgcc:GanttChartTaskListView>
    <pd:TaskItem Content="Task 1" IndexString="1"/>
    [...]
    <pd:TaskItem Content="Task 2" IsExpanded="True" IndexString="6"/>
    <pd:TaskItem Content="Task 2.1" Indentation="1" Start="{x:Static sys:DateTime.Today}" Effort="16:00:00"                  IsCompleted="True" IndexString="7"/>
    <pd:TaskItem Content="Task 2.2" Indentation="1" Start="{x:Static sys:DateTime.Today}" Effort="08:00:00"                  CompletedEffort="06:00:00" IndexString="8"/>
    <pd:TaskItem Content="Task 2.3" Indentation="1" IsExpanded="True" IndexString="9" PredecessorsString="8"/>
    <pd:TaskItem Content="Task 2.3.1" Indentation="2" Start="{x:Static sys:DateTime.Today}" Effort="1.16:00:00"                  IndexString="10" Cost="2000"/>
    <pd:TaskItem Content="Task 2.3.2" Indentation="2" Start="{x:Static sys:DateTime.Today}" Effort="08:00:00"                  IndexString="11" PredecessorsString="10"/>
    <pd:TaskItem Content="Task 3" Start="{x:Static sys:DateTime.Today}" Effort="12:30:00"                  CompletedEffort="02:30:00" IndexString="12" PredecessorsString="9, 11SS+12"/>
    <pd:TaskItem Content="Task 4" Start="{x:Static sys:DateTime.Today}" Effort="16:00:00"                  AssignmentsString="Resource 1" IndexString="13"/>
    <pd:TaskItem Content="Task 5" Start="{x:Static sys:DateTime.Today}" Effort="20:00:00"                  AssignmentsString="Resource 1, Resource 2 [50%]" IndexString="14"/>
    <pd:TaskItem Content="Task 6" Start="{x:Static sys:DateTime.Today}" IsMilestone="True" IndexString="15"                  PredecessorsString="14+2"/>
    <pdgcc:GanttChartTaskListView.AssignableResourceItems>
        <pd:ResourceItem Content="Resource 1" CostPerUsage="100" CostPerHour="10"/>
        <pd:ResourceItem Content="Resource 2" CostPerHour="20"/>
    </pdgcc:GanttChartTaskListView.AssignableResourceItems>
</pdgcc:GanttChartTaskListView>


All Components (with screenshots and intro source code)

Terms of Use Privacy Statement