public GenerateFloatingObjectViewModel(BaseViewModel parentViewModel, GenerateFloatingObjectModel dataModel) : base(parentViewModel) { _dataModel = dataModel; // Will bubble property change events from the Model to the ViewModel. _dataModel.PropertyChanged += (sender, e) => OnPropertyChanged(e.PropertyName); }
public void AddItemExecuted() { var model = new GenerateFloatingObjectModel(); var position = new MyPositionAndOrientation(Vector3D.Zero, Vector3.Forward, Vector3.Up); var settings = SpaceEngineersCore.WorldResource.Checkpoint.Settings; model.Load(position, settings.MaxFloatingObjects); var loadVm = new GenerateFloatingObjectViewModel(this, model); var result = _dialogService.ShowDialog <WindowGenerateFloatingObject>(this, loadVm); if (result == true) { var newEntities = loadVm.BuildEntities(); if (loadVm.IsValidItemToImport) { for (var i = 0; i < newEntities.Length; i++) { var item = ((MyObjectBuilder_FloatingObject)newEntities[i]).Item; _dataModel.Additem(item); } // TODO: need to bubble change up to MainViewModel.IsModified = true; } } }