private void AddNewColor() { int CurrentIndex = SelectedStone == null ? -1 : ColorList.IndexOf(SelectedStone); AddColorOperation op = new AddColorOperation(ColorRepository, _ColorList, CurrentIndex); op.Apply(); if (op.added != null) { op.added.ValueChanged = PropertyValueChanged; SelectedStone = op.added; } undoStack.Push(op); UnsavedChanges = true; }