syncfusion-wpf-gantt

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Implementing WPF Gantt Control

实现WPF Gantt控件

Comprehensive guide for implementing the Syncfusion® Essential Gantt control for WPF applications. The Gantt control is an MS Project-like project management viewer with built-in grid, schedule, and resource assignment capabilities designed to help project managers develop plans, assign resources, track task progress, and manage project timelines.
本指南详细介绍如何在WPF应用中实现Syncfusion® Essential Gantt控件。该Gantt控件是一款类MS Project的项目管理查看器,内置表格、日程安排和资源分配功能,旨在帮助项目经理制定计划、分配资源、跟踪任务进度并管理项目时间线。

When to Use This Skill

何时使用该技能

Use this skill when you need to:
  • Implement project management features in WPF applications
  • Visualize task timelines with Gantt chart representations
  • Create task hierarchies with parent-child relationships
  • Configure task dependencies with predecessor/successor relationships
  • Enable drag-and-drop for task scheduling and date adjustments
  • Track project progress with baselines and progress indicators
  • Manage resources and assign them to tasks
  • Customize Gantt visuals with custom nodes, tooltips, and styles
  • Import/export project data from/to XML format
  • Implement zooming and timeline navigation
  • Add filtering and sorting for task management
  • Support localization for international projects
This skill covers the complete Gantt control implementation from basic setup to advanced customization.
当你需要以下功能时,可使用本技能:
  • 在WPF应用中实现项目管理功能
  • 通过Gantt图表可视化任务时间线
  • 创建带有父子关系的任务层级结构
  • 配置带有前置/后置关系的任务依赖
  • 启用拖放功能以进行任务调度和日期调整
  • 通过基线和进度指示器跟踪项目进度
  • 管理资源并将其分配给任务
  • 自定义Gantt视觉效果,包括自定义节点、工具提示和样式
  • 导入/导出XML格式的项目数据
  • 实现缩放和时间线导航功能
  • 添加任务管理的筛选和排序功能
  • 为国际项目提供本地化支持
本技能涵盖从基础设置到高级自定义的完整Gantt控件实现流程。

Component Overview

组件概述

Architecture

架构

The Essential Gantt control is composed of three main components:
  1. GanttGrid - Table view displaying scheduled tasks with hierarchy and editable fields
  2. GanttChart - Graphical representation showing task bars, milestones, and dependencies
  3. ScheduleHeader - Timeline header for measuring and tracking progress
Essential Gantt控件由三个主要组件构成:
  1. GanttGrid - 表格视图,显示带有层级结构和可编辑字段的已调度任务
  2. GanttChart - 图形化展示区域,显示任务栏、里程碑和依赖关系
  3. ScheduleHeader - 时间线头部,用于衡量和跟踪进度

Key Capabilities

核心功能

Task Management:
  • Hierarchical task structure (parent/child tasks)
  • Task properties (name, start/finish dates, duration, progress)
  • Milestone support for target dates
  • Task dependencies with connectors
Visual Features:
  • Progress indicators showing completion percentage
  • Custom node styles for different task types
  • Highlighting and strip lines for visual emphasis
  • Custom tooltips for detailed task information
Interactions:
  • Drag to adjust task start/finish dates
  • Drag-and-drop tasks within rows
  • Automatic synchronization between grid and chart
  • Zooming for different timeline scales
Data Operations:
  • MVVM-compatible data binding
  • ObservableCollection support
  • XML import/export for project data
  • Filtering and sorting capabilities
  • Data virtualization for large projects
任务管理:
  • 层级任务结构(父/子任务)
  • 任务属性(名称、开始/结束日期、持续时间、进度)
  • 支持目标日期的里程碑
  • 带有连接线的任务依赖
视觉特性:
  • 显示完成百分比的进度指示器
  • 针对不同任务类型的自定义节点样式
  • 用于视觉强调的高亮和条线
  • 显示详细任务信息的自定义工具提示
交互功能:
  • 拖动调整任务的开始/结束日期
  • 在行内拖放任务
  • 表格与图表之间的自动同步
  • 不同时间线比例的缩放
数据操作:
  • 兼容MVVM的数据绑定
  • 支持ObservableCollection
  • XML格式的项目数据导入/导出
  • 筛选和排序功能
  • 针对大型项目的数据虚拟化

Documentation and Navigation Guide

文档与导航指南

Getting Started

入门指南

📄 Read: references/getting-started.md
When you need to:
  • Install and set up the Gantt control in your WPF project
  • Understand the Gantt control architecture and components
  • Add GanttControl programmatically or through XAML designer
  • Configure basic properties (ChartWidth, GridWidth)
  • Set schedule types and range padding
  • Configure auto-expand modes for task hierarchy
  • Apply themes to the Gantt control
Topics covered: Installation, control structure, class diagram, basic configuration, schedule types, auto-expand modes, theming

📄 阅读: references/getting-started.md
当你需要:
  • 在WPF项目中安装和设置Gantt控件
  • 了解Gantt控件的架构和组件
  • 通过代码或XAML设计器添加GanttControl
  • 配置基础属性(ChartWidth、GridWidth)
  • 设置日程类型和范围边距
  • 配置任务层级的自动展开模式
  • 为Gantt控件应用主题
涵盖主题: 安装、控件结构、类图、基础配置、日程类型、自动展开模式、主题设置

Data Binding & Task Management

数据绑定与任务管理

📄 Read: references/data-binding.md
When you need to:
  • Create TaskDetails collections for project data
  • Bind data to GanttControl ItemsSource
  • Implement ViewModel pattern with ObservableCollection
  • Define task properties (ID, name, dates, progress)
  • Create parent-child task hierarchies
  • Configure external property binding
  • Assign resources to tasks
  • Follow data model best practices
Topics covered: TaskDetails binding, ObservableCollection, task properties, hierarchy creation, resource assignment, MVVM patterns

📄 阅读: references/data-binding.md
当你需要:
  • 为项目数据创建TaskDetails集合
  • 将数据绑定到GanttControl的ItemsSource
  • 使用ObservableCollection实现ViewModel模式
  • 定义任务属性(ID、名称、日期、进度)
  • 创建父/子任务层级结构
  • 配置外部属性绑定
  • 为任务分配资源
  • 遵循数据模型最佳实践
涵盖主题: TaskDetails绑定、ObservableCollection、任务属性、层级创建、资源分配、MVVM模式

Scheduling & Time Management

调度与时间管理

📄 Read: references/task-scheduling.md
When you need to:
  • Configure schedule types (Hours, Days, Weeks, Months, Years)
  • Implement custom DateTime or numeric schedules
  • Customize calendars with working days and business hours
  • Define holidays and non-working days
  • Set schedule range padding for better visualization
  • Implement zooming functionality
  • Show date with time in GanttGrid
  • Manage timeline and schedule views
Topics covered: Schedule types, calendar customization, holidays, zooming, timeline management, schedule configuration

📄 阅读: references/task-scheduling.md
当你需要:
  • 配置日程类型(小时、天、周、月、年)
  • 实现自定义DateTime或数值型日程
  • 自定义包含工作日和工作时间的日历
  • 定义节假日和非工作日
  • 设置日程范围边距以优化可视化效果
  • 实现缩放功能
  • 在GanttGrid中显示日期和时间
  • 管理时间线和日程视图
涵盖主题: 日程类型、日历自定义、节假日、缩放、时间线管理、日程配置

Task Relationships & Dependencies

任务关系与依赖

📄 Read: references/task-relationships.md
When you need to:
  • Create dependency relationships between tasks
  • Configure predecessor and successor tasks
  • Implement connectors for visual dependencies
  • Enable auto-update hierarchy for cascading changes
  • Add baseline support for tracking original schedules
  • Track task progress against baselines
  • Implement milestones for project targets
  • Define different relationship types
Topics covered: Dependencies, connectors, auto-update hierarchy, baselines, milestones, relationship types, progress tracking

📄 阅读: references/task-relationships.md
当你需要:
  • 创建任务之间的依赖关系
  • 配置前置和后置任务
  • 实现可视化依赖的连接线
  • 启用层级自动更新以处理级联变更
  • 添加基线支持以跟踪原始日程
  • 对照基线跟踪任务进度
  • 实现项目目标的里程碑
  • 定义不同的关系类型
涵盖主题: 依赖关系、连接线、层级自动更新、基线、里程碑、关系类型、进度跟踪

Visual Customization

视觉自定义

📄 Read: references/customization.md
When you need to:
  • Apply custom node styles for different task types
  • Create custom tooltips with rich task information
  • Highlight specific tasks for emphasis
  • Add strip lines as visual guides on the timeline
  • Customize DateTime indicators
  • Style header nodes and task nodes
  • Customize progress indicators
  • Apply visual themes and templates
  • Implement conditional styling
Topics covered: Custom node styles, tooltips, highlighting, strip lines, DateTime indicators, themes, templates, conditional styling

📄 阅读: references/customization.md
当你需要:
  • 为不同任务类型应用自定义节点样式
  • 创建包含丰富任务信息的自定义工具提示
  • 高亮特定任务以突出显示
  • 在时间线上添加作为视觉参考的条线
  • 自定义DateTime指示器
  • 样式化头部节点和任务节点
  • 自定义进度指示器
  • 应用视觉主题和模板
  • 实现条件样式
涵盖主题: 自定义节点样式、工具提示、高亮、条线、DateTime指示器、主题、模板、条件样式

Interactions & Drag-Drop

交互与拖放

📄 Read: references/drag-drop-interaction.md
When you need to:
  • Enable drag support for adjusting task dates
  • Implement task bar dragging to change start/finish dates
  • Configure drag-and-drop for task reordering
  • Handle automatic data synchronization during drag operations
  • Respond to drag events
  • Configure drag behavior and constraints
  • Implement custom drag validation
Topics covered: Drag to resize, drag-and-drop reordering, event handling, synchronization, drag constraints

📄 阅读: references/drag-drop-interaction.md
当你需要:
  • 启用拖动支持以调整任务日期
  • 实现任务栏拖动以更改开始/结束日期
  • 配置任务重新排序的拖放功能
  • 在拖动操作期间处理自动数据同步
  • 响应拖动事件
  • 配置拖动行为和约束
  • 实现自定义拖动验证
涵盖主题: 拖动调整大小、拖放重新排序、事件处理、同步、拖动约束

Data Operations

数据操作

📄 Read: references/data-operations.md
When you need to:
  • Filter tasks based on criteria
  • Sort task lists by various properties
  • Implement data virtualization for large projects
  • Import project data from XML files
  • Export project data to XML format
  • Perform bulk operations on tasks
  • Search and filter task collections
  • Optimize performance with large datasets
Topics covered: Filtering, sorting, virtualization, XML import/export, bulk operations, search, performance optimization

📄 阅读: references/data-operations.md
当你需要:
  • 根据条件筛选任务
  • 按各种属性对任务列表排序
  • 针对大型项目实现数据虚拟化
  • 从XML文件导入项目数据
  • 将项目数据导出为XML格式
  • 对任务执行批量操作
  • 搜索和筛选任务集合
  • 优化大型数据集的性能
涵盖主题: 筛选、排序、虚拟化、XML导入/导出、批量操作、搜索、性能优化

Resource Management

资源管理

📄 Read: references/resource-management.md
When you need to:
  • Implement resource view in Gantt
  • Configure Gantt inline items for resources
  • Assign resources to tasks
  • Create and manage resource collections
  • Track resource allocation across tasks
  • Implement multi-resource task assignments
  • Display resource information in the chart
Topics covered: Resource views, inline items, resource assignment, collections, allocation tracking, multi-resource tasks

📄 阅读: references/resource-management.md
当你需要:
  • 在Gantt中实现资源视图
  • 配置Gantt的资源内联项
  • 为任务分配资源
  • 创建和管理资源集合
  • 跨任务跟踪资源分配
  • 实现多资源任务分配
  • 在图表中显示资源信息
涵盖主题: 资源视图、内联项、资源分配、集合、分配跟踪、多资源任务

Localization & Internationalization

本地化与国际化

📄 Read: references/localization.md
When you need to:
  • Configure flow direction (LTR/RTL) for different languages
  • Implement localization support
  • Apply culture-specific formatting
  • Manage multi-language resources
  • Format dates and times by locale
  • Localize resource strings and UI text
  • Support international project teams
Topics covered: Flow direction, localization, culture formatting, multi-language resources, date/time formatting, resource strings

📄 阅读: references/localization.md
当你需要:
  • 为不同语言配置流向(LTR/RTL)
  • 实现本地化支持
  • 应用特定文化的格式
  • 管理多语言资源
  • 按区域设置格式化日期和时间
  • 本地化资源字符串和UI文本
  • 支持国际项目团队
涵盖主题: 流向、本地化、文化格式化、多语言资源、日期/时间格式化、资源字符串

Quick Start Example

快速入门示例

Basic Gantt Control Implementation

基础Gantt控件实现

Here's a minimal example to get started with the Gantt control:
XAML:
xml
<Window x:Class="GanttDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
        Title="Project Management" Height="600" Width="1000">
    
    <syncfusion:GanttControl x:Name="ganttControl"
                             ItemsSource="{Binding TaskDetails}"
                             GridWidth="300"
                             ChartWidth="700">
        <syncfusion:GanttControl.DataContext>
            <local:ViewModel/>
        </syncfusion:GanttControl.DataContext>
    </syncfusion:GanttControl>
    
</Window>
ViewModel (C#):
csharp
using System;
using System.Collections.ObjectModel;
using Syncfusion.Windows.Controls.Gantt;

public class ViewModel
{
    public ObservableCollection<TaskDetails> TaskDetails { get; set; }

    public ViewModel()
    {
        TaskDetails = new ObservableCollection<TaskDetails>();
        
        // Create parent task
        var parentTask = new TaskDetails
        {
            TaskId = 1,
            TaskName = "Project Planning",
            StartDate = new DateTime(2024, 1, 1),
            FinishDate = new DateTime(2024, 1, 15),
            Progress = 40d
        };
        
        // Add child tasks
        parentTask.Child.Add(new TaskDetails
        {
            TaskId = 2,
            TaskName = "Define project scope",
            StartDate = new DateTime(2024, 1, 1),
            FinishDate = new DateTime(2024, 1, 5),
            Progress = 100d
        });
        
        parentTask.Child.Add(new TaskDetails
        {
            TaskId = 3,
            TaskName = "Gather requirements",
            StartDate = new DateTime(2024, 1, 6),
            FinishDate = new DateTime(2024, 1, 10),
            Progress = 50d
        });
        
        TaskDetails.Add(parentTask);
    }
}
Result: A functional Gantt control displaying project tasks with hierarchical structure, progress tracking, and timeline visualization.
以下是快速上手Gantt控件的最简示例:
XAML:
xml
<Window x:Class="GanttDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
        Title="Project Management" Height="600" Width="1000">
    
    <syncfusion:GanttControl x:Name="ganttControl"
                             ItemsSource="{Binding TaskDetails}"
                             GridWidth="300"
                             ChartWidth="700">
        <syncfusion:GanttControl.DataContext>
            <local:ViewModel/>
        </syncfusion:GanttControl.DataContext>
    </syncfusion:GanttControl>
    
</Window>
ViewModel (C#):
csharp
using System;
using System.Collections.ObjectModel;
using Syncfusion.Windows.Controls.Gantt;

public class ViewModel
{
    public ObservableCollection<TaskDetails> TaskDetails { get; set; }

    public ViewModel()
    {
        TaskDetails = new ObservableCollection<TaskDetails>();
        
        // 创建父任务
        var parentTask = new TaskDetails
        {
            TaskId = 1,
            TaskName = "项目规划",
            StartDate = new DateTime(2024, 1, 1),
            FinishDate = new DateTime(2024, 1, 15),
            Progress = 40d
        };
        
        // 添加子任务
        parentTask.Child.Add(new TaskDetails
        {
            TaskId = 2,
            TaskName = "定义项目范围",
            StartDate = new DateTime(2024, 1, 1),
            FinishDate = new DateTime(2024, 1, 5),
            Progress = 100d
        });
        
        parentTask.Child.Add(new TaskDetails
        {
            TaskId = 3,
            TaskName =  "收集需求",
            StartDate = new DateTime(2024, 1, 6),
            FinishDate = new DateTime(2024, 1, 10),
            Progress = 50d
        });
        
        TaskDetails.Add(parentTask);
    }
}
效果: 一个功能完整的Gantt控件,展示带有层级结构、进度跟踪和时间线可视化的项目任务。

Common Patterns

常见模式

Pattern 1: Task Dependency Setup

模式1:任务依赖设置

csharp
// Create tasks with dependencies
var task1 = new TaskDetails 
{ 
    TaskId = 1, 
    TaskName = "Design", 
    StartDate = new DateTime(2024, 1, 1),
    FinishDate = new DateTime(2024, 1, 10)
};

var task2 = new TaskDetails 
{ 
    TaskId = 2, 
    TaskName = "Development",
    StartDate = new DateTime(2024, 1, 11),
    FinishDate = new DateTime(2024, 1, 25)
};

// Task2 depends on Task1 (Finish-to-Start)
task2.Predecessor.Add(new Predecessor { GanttTaskIndex = 1, GanttTaskRelationship = GanttTaskRelationship.FinishToStart });

TaskDetails.Add(task1);
TaskDetails.Add(task2);
csharp
// 创建带有依赖关系的任务
var task1 = new TaskDetails 
{ 
    TaskId = 1, 
    TaskName = "设计", 
    StartDate = new DateTime(2024, 1, 1),
    FinishDate = new DateTime(2024, 1, 10)
};

var task2 = new TaskDetails 
{ 
    TaskId = 2, 
    TaskName = "开发",
    StartDate = new DateTime(2024, 1, 11),
    FinishDate = new DateTime(2024, 1, 25)
};

// Task2依赖于Task1(完成-开始关系)
task2.Predecessor.Add(new Predecessor { GanttTaskIndex = 1, GanttTaskRelationship = GanttTaskRelationship.FinishToStart });

TaskDetails.Add(task1);
TaskDetails.Add(task2);

Pattern 2: Resource Assignment

模式2:资源分配

csharp
// Define resources
var resources = new ObservableCollection<Resource>
{
    new Resource { ID = 1, Name = "John Smith" },
    new Resource { ID = 2, Name = "Jane Doe" }
};

// Assign resources to task
var task = new TaskDetails
{
    TaskId = 1,
    TaskName = "Implementation",
    StartDate = new DateTime(2024, 1, 1),
    FinishDate = new DateTime(2024, 1, 15),
    Resources = resources
};
csharp
// 定义资源
var resources = new ObservableCollection<Resource>
{
    new Resource { ID = 1, Name = "John Smith" },
    new Resource { ID = 2, Name = "Jane Doe" }
};

// 为任务分配资源
var task = new TaskDetails
{
    TaskId = 1,
    TaskName = "实施",
    StartDate = new DateTime(2024, 1, 1),
    FinishDate = new DateTime(2024, 1, 15),
    Resources = resources
};

Pattern 3: Custom Schedule Type

模式3:自定义日程类型

xml
<syncfusion:GanttControl x:Name="ganttControl"
                         ItemsSource="{Binding TaskDetails}"
                         ScheduleType="WeekWithDays"
                         ScheduleRangePadding="5">
</syncfusion:GanttControl>
csharp
// Or in code-behind
ganttControl.ScheduleType = ScheduleType.WeekWithDays;
ganttControl.ScheduleRangePadding = 5;
xml
<syncfusion:GanttControl x:Name="ganttControl"
                         ItemsSource="{Binding TaskDetails}"
                         ScheduleType="WeekWithDays"
                         ScheduleRangePadding="5">
</syncfusion:GanttControl>
csharp
// 或在代码后台设置
ganttControl.ScheduleType = ScheduleType.WeekWithDays;
ganttControl.ScheduleRangePadding = 5;

Pattern 4: Baseline Comparison

模式4:基线对比

csharp
// Enable baseline support
var task = new TaskDetails
{
    TaskId = 1,
    TaskName = "Project Phase 1",
    StartDate = new DateTime(2024, 1, 1),
    FinishDate = new DateTime(2024, 2, 1),
    BaselineStart = new DateTime(2024, 1, 1),
    BaselineFinish = new DateTime(2024, 1, 25),  // Original plan
    Progress = 60d
};
// Actual finish extends beyond baseline - shows delay
csharp
// 启用基线支持
var task = new TaskDetails
{
    TaskId = 1,
    TaskName = "项目第一阶段",
    StartDate = new DateTime(2024, 1, 1),
    FinishDate = new DateTime(2024, 2, 1),
    BaselineStart = new DateTime(2024, 1, 1),
    BaselineFinish = new DateTime(2024, 1, 25),  // 原始计划
    Progress = 60d
};
// 实际完成时间超出基线 - 显示延迟

Key Properties & API

核心属性与API

Essential Properties

关键属性

PropertyTypeDescription
ItemsSource
IEnumerableCollection of TaskDetails to display
GridWidth
GridLengthWidth of the Gantt grid section
ChartWidth
GridLengthWidth of the Gantt chart section
ScheduleType
ScheduleTypeTimeline scale (Hours, Days, Weeks, etc.)
ScheduleRangePadding
intPadding in schedule units
AutoExpandMode
GanttAutoExpandModeInitial expansion state of tasks
ShowDateWithTime
boolDisplay time along with dates in grid
属性类型描述
ItemsSource
IEnumerable要显示的TaskDetails集合
GridWidth
GridLengthGantt表格区域的宽度
ChartWidth
GridLengthGantt图表区域的宽度
ScheduleType
ScheduleType时间线比例(小时、天、周等)
ScheduleRangePadding
int日程单位的边距
AutoExpandMode
GanttAutoExpandMode任务的初始展开状态
ShowDateWithTime
bool在表格中显示日期和时间

TaskDetails Properties

TaskDetails属性

PropertyTypeDescription
TaskId
intUnique identifier for the task
TaskName
stringDisplay name of the task
StartDate
DateTimeTask start date/time
FinishDate
DateTimeTask end date/time
Duration
TimeSpanTask duration (calculated or set)
Progress
doubleCompletion percentage (0-100)
Child
CollectionChild tasks for hierarchy
Predecessor
CollectionTask dependencies
Resources
CollectionAssigned resources
属性类型描述
TaskId
int任务的唯一标识符
TaskName
string任务的显示名称
StartDate
DateTime任务的开始日期/时间
FinishDate
DateTime任务的结束日期/时间
Duration
TimeSpan任务持续时间(计算或设置)
Progress
double完成百分比(0-100)
Child
Collection子任务集合
Predecessor
Collection任务依赖集合
Resources
Collection已分配的资源集合

Common Methods

常用方法

  • ExpandAll()
    - Expand all task nodes
  • CollapseAll()
    - Collapse all task nodes
  • ExportToXML()
    - Export project to XML file
  • ImportFromXML()
    - Import project from XML file
  • ExpandAll()
    - 展开所有任务节点
  • CollapseAll()
    - 折叠所有任务节点
  • ExportToXML()
    - 将项目导出为XML文件
  • ImportFromXML()
    - 从XML文件导入项目

Architecture Overview

架构概述

┌─────────────────────────────────────────────────────────────┐
│                      GanttControl                            │
├─────────────────────────────────────────────────────────────┤
│                                                               │
│  ┌──────────────────────┐  ┌─────────────────────────────┐ │
│  │    GanttGrid         │  │   GanttChartVisualControl   │ │
│  │  ┌────────────────┐  │  │  ┌────────────────────────┐ │ │
│  │  │ Header         │  │  │  │  ScheduleHeader        │ │ │
│  │  ├────────────────┤  │  │  ├────────────────────────┤ │ │
│  │  │ Parent Task    │  │  │  │  ═══╗                  │ │ │
│  │  │  ├─ Child 1    │  │  │  │     ║═══════           │ │ │
│  │  │  └─ Child 2    │  │  │  │          ║═════════════║ │ │
│  │  │ Parent Task    │  │  │  │  ═══════════╗          │ │ │
│  │  │  ├─ Child 3    │  │  │  │            ║════       │ │ │
│  │  └────────────────┘  │  │  └────────────────────────┘ │ │
│  └──────────────────────┘  └─────────────────────────────┘ │
│                                                               │
│         Data: ObservableCollection<TaskDetails>              │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│                      GanttControl                            │
├─────────────────────────────────────────────────────────────┤
│                                                               │
│  ┌──────────────────────┐  ┌─────────────────────────────┐ │
│  │    GanttGrid         │  │   GanttChartVisualControl   │ │
│  │  ┌────────────────┐  │  │  ┌────────────────────────┐ │ │
│  │  │ Header         │  │  │  │  ScheduleHeader        │ │ │
│  │  ├────────────────┤  │  │  ├────────────────────────┤ │ │
│  │  │ Parent Task    │  │  │  │  ═══╗                  │ │ │
│  │  │  ├─ Child 1    │  │  │  │     ║═══════           │ │ │
│  │  │  └─ Child 2    │  │  │  │          ║═════════════║ │ │
│  │  │ Parent Task    │  │  │  │  ═══════════╗          │ │ │
│  │  │  ├─ Child 3    │  │  │  │            ║════       │ │ │
│  │  └────────────────┘  │  │  └────────────────────────┘ │ │
│  └──────────────────────┘  └─────────────────────────────┘ │
│                                                               │
│         数据: ObservableCollection<TaskDetails>              │
└─────────────────────────────────────────────────────────────┘

Common Use Cases

常见使用场景

  1. Software Project Management - Track development sprints, tasks, and milestones
  2. Construction Planning - Manage construction phases, dependencies, and resources
  3. Event Planning - Schedule event tasks, timelines, and resource allocation
  4. Research Projects - Track research phases, experiments, and deliverables
  5. Manufacturing Scheduling - Plan production tasks, dependencies, and resources
  6. Marketing Campaigns - Manage campaign tasks, timelines, and team assignments
  1. 软件项目管理 - 跟踪开发迭代、任务和里程碑
  2. 建筑规划 - 管理施工阶段、依赖关系和资源
  3. 活动策划 - 安排活动任务、时间线和资源分配
  4. 研究项目 - 跟踪研究阶段、实验和交付成果
  5. 制造调度 - 规划生产任务、依赖关系和资源
  6. 营销活动 - 管理活动任务、时间线和团队分配