public BasicLineChartControl(BasicLineChartNodeModel model) { InitializeComponent(); model.PropertyChanged += NodeModel_PropertyChanged; BuildUI(model); DataContext = this; }
private void BuildUI(BasicLineChartNodeModel model) { // Load sample data if any ports are not connected if (!model.InPorts[0].IsConnected && !model.InPorts[1].IsConnected && !model.InPorts[2].IsConnected) { var seriesRange = new LineSeries[] { new LineSeries { Title = "Series 1", Values = new ChartValues <double> { 4, 6, 5, 2, 4 } }, new LineSeries { Title = "Series 2", Values = new ChartValues <double> { 6, 7, 3, 4, 6 } }, new LineSeries { Title = "Series 3", Values = new ChartValues <double> { 4, 2, 7, 2, 7 } } }; BasicLineChart.Series.AddRange(seriesRange); } else if (model.InPorts[0].IsConnected && model.InPorts[1].IsConnected && model.InPorts[2].IsConnected) { if (model.Labels.Count == model.Values.Count && model.Labels.Count > 0) { LineSeries[] seriesRange = new LineSeries[model.Labels.Count]; for (var i = 0; i < model.Labels.Count; i++) { seriesRange[i] = new LineSeries { Title = model.Labels[i], Values = new ChartValues <double>(model.Values[i]), Stroke = model.Colors[i], Fill = Brushes.Transparent }; } BasicLineChart.Series.AddRange(seriesRange); } } }