public ParticlePropertiesViewModel(IEventAggregator eventAggregator, IParticlesManager particlesManager, IBlockManager blockManager) { _particleGuid = Guid.Empty; _eventAggregator = eventAggregator; _particlesManager = particlesManager; _blockManager = blockManager; ParticleInplaces = new ObservableCollection<ParticleInplaceBlock>(); _eventAggregator.GetEvent<BookmarkSelected>().Subscribe(BookmarkSelected); DeleteParticleInplaceCommand = new DelegateCommand<ParticleInplaceBlock>(pi => { _particlesManager.DeleteParticleInplace(pi.ParticleInplace); ParticleInplaces.Remove(pi); }); DeleteParticleCommand = new DelegateCommand(() => { if (_particleGuid != Guid.Empty) { var result = _particlesManager.DeleteParticle(_particleGuid); if (result) { _eventAggregator.GetEvent<MaterialUpdatedEvent>().Publish(_materialId); _eventAggregator.GetEvent<BookmarkSelected>().Publish(Guid.Empty); } } }); }