有没有人有任何关于创建自定义 Silverlight 时间线的好建议?!事实上,它甚至不需要定制,我有一个数据库表,该表中的每个对象都有一个名为“CreateDate”的日期时间字段。我想用这个字段来组装一个时间线,在每个特定的 CreateDate 点显示其他相关字段............
有小费吗?建议?帮助?样品?
干杯
有没有人有任何关于创建自定义 Silverlight 时间线的好建议?!事实上,它甚至不需要定制,我有一个数据库表,该表中的每个对象都有一个名为“CreateDate”的日期时间字段。我想用这个字段来组装一个时间线,在每个特定的 CreateDate 点显示其他相关字段............
有小费吗?建议?帮助?样品?
干杯
实现您自己的时间线面板。它很容易!
面板允许您控制其子项的一般布局。例如,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;
}
我所知道的唯一一个是来自 Infragistics的商业控制。
(我不隶属于他们)
也试试这个timeline.codeplex.com。它是在 LGPL 许可下免费控制的。