コード例 #1
0
        public ImportImageViewModel(BaseViewModel parentViewModel, ImportImageModel dataModel, IDialogService dialogService, Func<IOpenFileDialog> openFileDialogFactory, Func<IColorDialog> colorDialogFactory)
            : base(parentViewModel)
        {
            Contract.Requires(dialogService != null);
            Contract.Requires(openFileDialogFactory != null);
            Contract.Requires(colorDialogFactory != null);

            _dialogService = dialogService;
            _openFileDialogFactory = openFileDialogFactory;
            _colorDialogFactory = colorDialogFactory;
            _dataModel = dataModel;
            _dataModel.PropertyChanged += (sender, e) => OnPropertyChanged(e.PropertyName);
        }
コード例 #2
0
 public ImportImageViewModel(BaseViewModel parentViewModel, ImportImageModel dataModel)
     : this(parentViewModel, dataModel, ServiceLocator.Resolve<IDialogService>(), ServiceLocator.Resolve<IOpenFileDialog>, ServiceLocator.Resolve<IColorDialog>)
 {
 }
コード例 #3
0
        public void ImportImageExecuted()
        {
            var model = new ImportImageModel();
            var position = ThePlayerCharacter != null ? ThePlayerCharacter.PositionAndOrientation.Value : new MyPositionAndOrientation(Vector3D.Zero, Vector3.Forward, Vector3.Up);
            model.Load(position);
            var loadVm = new ImportImageViewModel(this, model);

            var result = _dialogService.ShowDialog<WindowImportImage>(this, loadVm);
            if (result == true)
            {
                IsBusy = true;
                var newEntity = loadVm.BuildEntity();
                // make sure resultant object has cubes.
                if (newEntity.CubeBlocks.Count != 0)
                {
                    _selectNewStructure = true;
                    _dataModel.CollisionCorrectEntity(newEntity);
                    _dataModel.AddEntity(newEntity);
                    _selectNewStructure = false;
                }
                IsBusy = false;
            }
        }