private StepItemViewModel NextStep(int stepsCount)
        {
            var result   = _population.StepForward(stepsCount);
            var nextStep = new StepItemViewModel {
                Name = String.Format("Step {0} Population count: {1}", (Steps.Items.Count + 1), _population.Count()),
                Data = new List <ScatterPoint>(result.Select(x => new ScatterPoint(x, _population.CalculateFunctionValue(x)))),
            };

            return(nextStep);
        }
        private void RedrawStep(StepItemViewModel step)
        {
            var scatterSeries = Plot.Series.FirstOrDefault(s => s is ScatterSeries);

            if (scatterSeries != null)
            {
                (scatterSeries as ScatterSeries).ItemsSource = step.Data;
            }

            var P = Plot;

            Plot = null;
            this.OnPropertyChanged("Plot");
            Plot = P;
            this.OnPropertyChanged("Plot");
        }