public void AppendPointViaDispatcher() { if (_sourceDatas.Count >= 1) { _polyline.Points.Add(new Point((MomentData.GetTimeSpan(_sourceDatas, _sourceDatas.Count - 1).TotalSeconds - _minTime) * (_grid.ActualWidth / (_maxTime - _minTime)), _grid.ActualHeight - (_sourceDatas.Last().Value - _minData) * (_grid.ActualHeight / (_maxData - _minData)))); } }
//把数据坐标转换成显示的图像坐标 /// <summary> /// 刷新曲线 /// </summary> public void Build() { _polyline.Points.Clear(); for (int i = 0; i < _sourceDatas.Count; i++) { _polyline.Points.Add(new Point((MomentData.GetTimeSpan(_sourceDatas, i).TotalSeconds - _minTime) * (_grid.ActualWidth / (_maxTime - _minTime)), _grid.ActualHeight - (_sourceDatas[i].Value - _minData) * (_grid.ActualHeight / (_maxData - _minData)))); //(_sourceDatas[i].Time-_sourceDatas[0].Time).TotalSeconds } }