1

有没有人有任何关于创建自定义 Silverlight 时间线的好建议?!事实上,它甚至不需要定制,我有一个数据库表,该表中的每个对象都有一个名为“CreateDate”的日期时间字段。我想用这个字段来组装一个时间线,在每个特定的 CreateDate 点显示其他相关字段............

有小费吗?建议?帮助?样品?

干杯

4

3 回答 3

2

实现您自己的时间线面板。它很容易!

面板允许您控制其子项的一般布局。例如,ItemsControl 公开了一个名为 ItemsPanel 的属性,该属性的类型为 ItemsPanelTemplate。默认情况下,此 ItemsPanelTemplate 包含一个垂直 StackPanel,但可以用您的真棒时间线面板覆盖。任何时间线的关键是 x 坐标。

使用下面的代码来计算你的 x 坐标是成功的一半。之后,它只是确定重叠的问题,以便您可以在时间线上正确堆叠您的项目。

Avanade Silverlight 加速器同时具有时间轴控件和 StackCalendar 控件(想想甘特图),它们工作得非常好。

public double ScaleDate(DateTime date)
    {
        TimeSpan span = this.StopDate - this.StartDate;
        TimeSpan pos = date - this.StartDate;

        double posDays = double.Parse(pos.Days.ToString());
        double spanDays = double.Parse(span.Days.ToString());
        double x = posDays / spanDays;

        return x;
    }
于 2009-09-24T06:44:28.050 回答
1

我所知道的唯一一个是来自 Infragistics的商业控制。

(我不隶属于他们)

于 2009-09-23T13:34:55.427 回答
1

也试试这个timeline.codeplex.com。它是在 LGPL 许可下免费控制的。

于 2009-10-05T00:52:25.110 回答