Exemplo n.º 1
0
        public BarChartControl(BarChartNodeModel model)
        {
            InitializeComponent();

            model.PropertyChanged += NodeModel_PropertyChanged;

            BuildUI(model);

            DataContext = this;
        }
Exemplo n.º 2
0
        private void BuildUI(BarChartNodeModel model)
        {
            if (!model.InPorts[0].IsConnected && !model.InPorts[1].IsConnected && !model.InPorts[2].IsConnected)
            {
                BarChart.Series = new SeriesCollection
                {
                    new ColumnSeries
                    {
                        Title  = "2019",
                        Values = new ChartValues <double> {
                            5, 6, 7, 8
                        }
                    },
                    new ColumnSeries
                    {
                        Title  = "2020",
                        Values = new ChartValues <double> {
                            10, 12, 14, 16
                        }
                    },
                    new ColumnSeries
                    {
                        Title  = "2021",
                        Values = new ChartValues <double> {
                            15, 18, 21, 24
                        }
                    }
                };
            }
            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)
                {
                    var seriesRange = new ColumnSeries[model.Labels.Count];

                    for (var i = 0; i < model.Labels.Count; i++)
                    {
                        seriesRange[i] = new ColumnSeries
                        {
                            Title  = model.Labels[i],
                            Values = new ChartValues <double>(model.Values[i]),
                            Fill   = model.Colors[i]
                        };
                    }

                    BarChart.Series.AddRange(seriesRange);
                }
            }
        }