1. 语法
1.1. XAML
2. 备注
2.1. 布局计算
GanttPanel与TimeLine的计算方法类似,仅计算ViewPort范围内需要绘制的任务项,但是多了一个参数YPosition。YPostion是纵向坐标上的位置。
纵向坐标轴:当前已展开的所有任务项中最顶端的YPosition=0,依次递增数为1。
GanttPanel.TaskEntryLayout.Rows属性枚举了所有展开的任务项,而GanttPanel.TaskEntryLayout.Items仅仅枚举了当前需要绘制的任务项。
同时GanttPanel.TaskEntryLayout布局计算,允许每行Row中有多个Items。这种情况一般应用在资源任务图表上,即查看每个资源所参加或负责的任务项。要实现资源任务图表,必须继承继承自AbstractTaskEntryLayout类,可参考SimpleTaskEntryLayout的实现,重新构造AbstractTaskEntryLayout.Rows成员项。同时,必须制定GanttPanel. TaskEntryLayoutProvider的值为自定义的Layout实现类。
2.2. 渲染
GanttPanel允许自定义渲染甘特图横向条目,要求实现ITaskEntryRenderer接口或继承自AbstractTaskEntryRenderer。在3.2.3 Walkthrough,将会给出一个通过这种方法创建关键路径显示的方式。
3. 示例