Icon

DlhSoft Project Management Library

for Windows® Presentation Foundation (WPF) and .NET 3.5 SP1+
Related products/versions:
for WPF 4, for Windows® Forms, more

Product Information

Project Management Library for WPF 3.5 contains task hierarchy and resource scheduling and management controls with data binding support, customizable look and feel, task and dependency drag and drop operations, critical path enumeration, baseline visualization, resource leveling, culture and theme awareness, printing and exporting support, resource allocation load chart output, extended Model-View-ViewModel (MVVM) pattern based development support (Prism), etc.

The interactive Gantt Chart and Schedule Chart controls within the product may be used to display all types of data that can be presented on a timeline (i.e. their date and time being incremented along the X-axis in a chart area), and can be used to display tasks, appointments, or other programmed activities for short or long periods of time. It is therefore easy to use these components to build project management, resource planning, activity scheduling, item programming, execution planning, and many other related types of applications.

Developers may reference, configure, and optionally extend the components within their applications using any of the .NET programming languages available, including C#, Visual Basic® .NET (VB), and C++/CLI, and any Visual Studio® edition that supports .NET 3.5+.


Gantt Chart with list view
Model-View-ViewModel (MVVM) pattern development enabled
Project management logic available as separated assembly

The current product build is 3.1.12 (see also what's new).

Licensed components may be redistributed royalty-free within your applications.
Source code is also available with a Business Plus license.


The trial version provides access to all features of the available software components and for unlmited time, for
testing purposes only.
Purchasing a license
provides access to
all components for
production purposes.

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.


By purchasing a license for a specific product version you obtain the ability to upgrade for free to any future build of the same major product version, provided that you continue to use the licensed components available in the original package. We also offer high discount rates to supplementary license new components within future product versions, to upgrade to any future major product versions, such as updated platform redesigns and rebuilds, or to migrate to a related product, whenever logically applicable.

Regardless of legal guarantee limitations specified within the End User License Agreement (EULA) documents of our products, we aim to provide free and unlimited support services to all customers, including answering technical questions and resolving reported issues by providing updated builds and specific hot fixes, at the maximum possible responsiveness level, even while using the trial version of our software.


Using Project Management Library software developers can:

  • Display and allow end users to update an (indentation based) hierarchical list of tasks within the GanttChartTaskListView control; grid columns can be fully customized and templated:

    Gantt Chart with 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>

  • Fully customize the chart and item appearance, including for individual entries in the view:

    Gantt Chart with list view, custom appearance

  • Fully customize the chart scales, zoom level, and the visible and working times of day and week in the view:

    Gantt Chart with list view, custom scale

  • Fully customize the working time schedule of the entire set of tasks, of an individual task, or even of an individual assignable resource:

    Gantt Chart with list view, custom schedule

  • Highlight the critical path items in the view:

    Gantt Chart with list view, critical path

  • Filter displayed tasks based on fully customizable criteria, such as based on resource assignments:

    Gantt Chart with list view, resource filtering

  • Display and allow end users to update the assignable resource list and their task assignments within the ScheduleChartResourceListView control; grid columns can be fully customized and templated:

    Schedule Chart with list view

  • Alternatively, display and/or allow end users to update the task hierarchy and resource scheduling information within simple GanttChartView and ScheduleChartView controls, without attached list views, or within TaskListView and ResourceListView controls, without attached chart areas:

    Gantt Chart viewSchedule Chart view

    Task list view

    Resource list view

  • Display resource allocation information within the LoadChartView control, either for a single resource item, such as that being currently selected in an external drop down list, or for multiple resource items, within the LoadChartResourceListView control:

    Load Chart view

    Load Chart with list view

  • Display and allow end users to update schedule definition items (that can be bound to Gantt Chart controls, task items, or resource items) within the ScheduleDefinitionView control:

    Schedule definition view


Provided the flexibility and extensibility of the included components, complex functionality can also be achieved when needed in advanced scenarios, without modifying the original source code of the software (although the source code is available with Business Plus licenses):

  • Fully customize the task bar templates, such as to enable inline task value editing, or presenting multiple bars (e.g. planned vs. actual timing values), supplemental textual information, and timeline bound marker icons in the chart:

    Gantt Chart with list view, bar templating

  • Customize the view and include code to present and accept day and week numbers instead of specific date and time values:

    Gantt Chart with list view, numeric days

  • Customize the view and include code to present and accept custom task identifiers instead of numeric indexes when defining predecessors:

    Gantt Chart with list view, custom identifiers


A comprehensive list of product features is available for review. More details, such as get started guidelines, sample applications, and questions and answers are available in the online product documentation. You can also run a live demo of the product (ClickOnce application).

Note that in order to be able to build and run the sample application code available within the product documentation, you are required to download and install the software package.

You can download, install, and test the software package for free, for as long as needed. If you find the software useful and you would like to use it in production, you need to purchase and install the product license on your computer(s). Don't hesitate to request support whenever needed.


The product requires Microsoft® Windows® 7, Vista®, XP, Server® 2008, 2003, or a more recent compatible version and Windows® Presentation Foundation (WPF) within Microsoft® .NET Framework 3.5 (Service Pack 1) or a more recent compatible version, and integrates with Microsoft® Visual Studio® 2008 (Service Pack 1) or a more recent compatible version and Microsoft® Expression® Studio 3 or a more recent compatible version.

Reference documentation is available in Visual Studio® style. The controls can be used in Windows® and browser (XBAP) applications.


You may also want to review information about the related products available:


Other versions of this product are available:

Terms of Use Privacy Statement