/// <summary>
/// 创建一个图表
/// </summary>
/// <param name="tableName">表名字</param>
/// <param name="updateTime">时间段的集合</param>
/// <param name="value">对应时间段集合的值</param>
/// <param name="row">本表在主Grid里面的ROW值</param>
/// <param name="column">本表在主Grid里面的column值</param>
/// <param name="rihgtStr">Y轴的后缀</param>
/// <param name="tspan">时间段间隔</param>
/// <param name="chartInterval">图表两点之间的间隔</param>
/// <param name="intervaltype">图表的X轴坐标按什么来分类,如时分秒</param>
public void CreateChart(string tableName, int row, int column, string rihgtStr, TimeSpan tspan, int chartInterval, IntervalTypes intervaltype)
//将当前的UI进程赋给thread;以供下面使用
thread = System.Threading.SynchronizationContext.Current;
//启动Timer组件,开始增加DataPoint点
time = new Timer(AddPoint, chart, 1000, 1000);
}
//时间标志,不用关注
int TimeFlag = 0;
Timer time;
System.Threading.SynchronizationContext thread;
public void AddPoint(object state)
{
//UI线程更新内容
thread.Post(delegate
{
Chart chart = state as Chart;
DataPoint dpoint = new DataPoint();
dpoint.XValue = new DateTime(2010, 2, 15, 7, TimeFlag, 03);
//获取到随机数
Random rom = new Random();
int num= rom.Next(100);
dpoint.YValue = double.Parse(num.ToString());
chart.Series[0].DataPoints.Add(dpoint);
//设置每增加了一个点,就将最前面的那个点去掉。
chart.Series[0].DataPoints.Remove(chart.Series[0].DataPoints[0]);
TimeFlag++;
}, null);
//此处我们设置标志等于59的时候取消Timer的运行
if (TimeFlag == 59)
{
time.Dispose();
}
}