コード例 #1
0
        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);
                    }
                }
            });
        }