public DebugUndoRedoViewModel(IViewModelServiceProvider serviceProvider, IUndoRedoService undoRedo) : base(serviceProvider) { this.undoRedo = undoRedo; ClearDiscardedItemsCommand = new AnonymousCommand(ServiceProvider, () => DiscardedTransactions.Clear()); undoRedo.Done += TransactionAdded; undoRedo.TransactionDiscarded -= TransactionDiscarded; undoRedo.Cleared += UndoStackCleared; Transactions.AddRange(undoRedo.RetrieveAllTransactions().Select(x => new OperationViewModel(ServiceProvider, undoRedo, (Operation)x))); }