public ViewModel(Model.Model model) { this._model = model; //this._playIcon = ""; _model.CellChanged += new EventHandler <CellChangedEventArgs>(Model_CellChanged); _model.SizeChanged += new EventHandler(Model_SizeChanged); _model.GenerationChanged += new EventHandler(Model_GenerationChanged); _model.LoadComplete += new EventHandler(Model_LoadComplete); LoadConfigurationCommand = new DelegateCommand(x => OnLoadConfiguration()); StepCommand = new DelegateCommand(x => OnStep()); PlayCommand = new DelegateCommand(x => { OnPlay(); }); //PauseCommand = new DelegateCommand(x => OnPause()); DeleteCellCommand = new DelegateCommand(x => { CellField field = (CellField)x; _model.ChangeCell((int)((field.Row + 0.001) / CellSizeY), (int)((field.Column + 0.001) / CellSizeX)); }); CanvasClickCommand = new DelegateCommand(x => { OnCanvasClick(); }); NewPatternCommand = new DelegateCommand(x => OnNewPattern()); CreateEmptyPatternCommand = new DelegateCommand(x => OnCreateEmptyPattern()); CreateRandomPatternCommand = new DelegateCommand(x => OnCreateRandomPattern()); Cells = new ObservableCollection <CellField>(); }
private void ViewModel_CanvasClicked(Object sender, EventArgs e) { Point p = Mouse.GetPosition(Mouse.DirectlyOver); int y = (int)(p.X / _viewModel.CellSizeY); int x = (int)(p.Y / _viewModel.CellSizeX); _model.ChangeCell(x, y); //Mouse.LeftButton == MouseButtonState.Pressed }