public void UpdateLines() { if (_chart == null) { return; } this.ResetLines(); this.ResetChart(); // Keep existing drivers in plot and add new drivers foreach (var driver in _mainModel.DriverList.SelectedDrivers) { var line = GetLine(driver); _chart.AddPrimitive(line.Line); } // Remove unselected drivers var untaken = _lines.Values.Where(l => !l.Taken).ToArray(); foreach (var line in untaken) { ResetColor(line.Line.LineColor); _lines.Remove(line.Driver.Driver.Id); } this.OnPropertyChanged("DriverLines"); _chart.RedrawPlotLines(); }