private void KircheElem_PropertyChanged(int id, PropertyChangedEventArgs e, object value) { if (inUndoCommand) { redoChangeLog.Record(new UpdateStep(id, e.PropertyName, value)); } else if (inRedoCommand) { undoChangeLog.Record(new UpdateStep(id, e.PropertyName, value)); } else { undoChangeLog.Record(new UpdateStep(id, e.PropertyName, value)); ResetRedoChangeLog(); undoCommand.InvokeCanExecuteChanged(); } }