private void InitChart() { try { ChartBrushes = new List <Brush>(); ChartBrushes.Add(Brushes.Blue); ChartBrushes.Add(Brushes.Green); ChartBrushes.Add(Brushes.LightSalmon); ChartBrushes.Add(Brushes.DarkRed); ChartBrushes.Add(Brushes.Gold); ChartBrushes.Add(Brushes.CadetBlue); ChartBrushes.Add(Brushes.Coral); ChartBrushes.Add(Brushes.Crimson); ChartBrushes.Add(Brushes.Indigo); ChartBrushes.Add(Brushes.PaleGreen); ChartBrushes.Add(Brushes.OrangeRed); ChartBrushes.Add(Brushes.Purple); ChartBrushes.Add(Brushes.Fuchsia); ChartBrushes.Add(Brushes.AliceBlue); ChartBrushes.Add(Brushes.Orange); ChartBrushes.Add(Brushes.Purple); ChartBrushes.Add(Brushes.Chartreuse); ChartBrushes.Add(Brushes.MediumBlue); ChartBrushes.Add(Brushes.Chocolate); int countItems = ItemsId.Count; if (ItemsId != null) { for (int i = 0; i < countItems; i++) { switch (ChartType) { case ChartType.AreaSeries: Chart.Series.Add(new AreaSeries()); AreaSeries series1 = (AreaSeries)this.Chart.Series[i]; series1.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series1.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series1.Stroke = ChartBrushes[i]; series1.StrokeThickness = 2; break; case ChartType.LineSeries: Chart.Series.Add(new LineSeries()); LineSeries series2 = (LineSeries)this.Chart.Series[i]; series2.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series2.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series2.Stroke = ChartBrushes[i]; series2.StrokeThickness = 2; break; case ChartType.PointSeries: Chart.Series.Add(new PointSeries()); PointSeries series3 = (PointSeries)this.Chart.Series[i]; series3.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series3.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; break; case ChartType.SplineAreaSeries: Chart.Series.Add(new SplineAreaSeries()); SplineAreaSeries series4 = (SplineAreaSeries)this.Chart.Series[i]; series4.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series4.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series4.Stroke = ChartBrushes[i]; series4.StrokeThickness = 2; break; case ChartType.SplineSeries: Chart.Series.Add(new SplineSeries()); SplineSeries series5 = (SplineSeries)this.Chart.Series[i]; series5.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series5.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series5.Stroke = ChartBrushes[i]; series5.StrokeThickness = 2; break; case ChartType.StepAreaSeries: Chart.Series.Add(new StepAreaSeries()); StepAreaSeries series6 = (StepAreaSeries)this.Chart.Series[i]; series6.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series6.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series6.Stroke = ChartBrushes[i]; series6.StrokeThickness = 2; break; case ChartType.StepLineSeries: Chart.Series.Add(new StepLineSeries()); StepLineSeries series7 = (StepLineSeries)this.Chart.Series[i]; series7.CategoryBinding = new PropertyNameDataPointBinding() { PropertyName = "Time" }; series7.ValueBinding = new PropertyNameDataPointBinding() { PropertyName = "Value" }; series7.Stroke = ChartBrushes[i]; series7.StrokeThickness = 2; break; } } } } catch (Exception ex) { Logger.LogIndustrialMonitoring(ex); } }
void WindowChartHistory_ShowDataCompleted(object sender, ShowDataCompletedEventArgs e) { try { if (ItemsId.Count == 1) { TextBlockTitle.Text = string.Format("{0} {1}-{2}", e.CurrentItem.ItemName, this.StartTime.ToString(), this.EndTime.ToString()); } else { TextBlockTitle.Text = string.Format("Compare {0}-{1}", this.StartTime.ToString(), this.EndTime.ToString()); } switch (ChartType) { case ChartType.AreaSeries: AreaSeries series1 = (AreaSeries)this.Chart.Series[e.ItemId.Key]; series1.ItemsSource = e.Data; break; case ChartType.LineSeries: LineSeries series2 = (LineSeries)this.Chart.Series[e.ItemId.Key]; series2.ItemsSource = e.Data; break; case ChartType.PointSeries: PointSeries series3 = (PointSeries)this.Chart.Series[e.ItemId.Key]; series3.ItemsSource = e.Data; break; case ChartType.SplineAreaSeries: SplineAreaSeries series4 = (SplineAreaSeries)this.Chart.Series[e.ItemId.Key]; series4.ItemsSource = e.Data; break; case ChartType.SplineSeries: SplineSeries series5 = (SplineSeries)this.Chart.Series[e.ItemId.Key]; series5.ItemsSource = e.Data; break; case ChartType.StepAreaSeries: StepAreaSeries series6 = (StepAreaSeries)this.Chart.Series[e.ItemId.Key]; series6.ItemsSource = e.Data; break; case ChartType.StepLineSeries: StepLineSeries series7 = (StepLineSeries)this.Chart.Series[e.ItemId.Key]; series7.ItemsSource = e.Data; break; } Chart.Zoom = new Size(1, 1); if (e.GenerateLegend) { ChartLegend.Items.Add(new LegendItem() { MarkerFill = ChartBrushes[e.ItemId.Key], Title = e.CurrentItem.ItemName }); } BusyIndicator.IsBusy = false; } catch (Exception ex) { Logger.LogIndustrialMonitoring(ex); } }