public bool TrySelect(GridCoordinates targetCell) { if (!watchedCells.ContainsKey(targetCell)) { return(false); } if (targetCell.Equals(SelectedCell.CellPosition)) { return(false); } UnpointCell(); SelectedCell.UncheckCell(); SelectedCell = watchedCells[targetCell]; SelectedCell.IsSelected = true; UpdateBinding(); return(true); }