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); }
public ImportImageViewModel(BaseViewModel parentViewModel, ImportImageModel dataModel) : this(parentViewModel, dataModel, ServiceLocator.Resolve<IDialogService>(), ServiceLocator.Resolve<IOpenFileDialog>, ServiceLocator.Resolve<IColorDialog>) { }
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; } }