/// <summary> /// Starts a transaction under which all undo redo operations take place /// </summary> /// <param name="tran"></param> public void StartTransaction(UndoTransaction tran) { if (_curTran == null) { _curTran = tran; ///push an empty undo operation _undoStack.Push(new UndoTransaction(tran.Name)); _redoStack.Push(new UndoTransaction(tran.Name)); } }