private void Window_KeyDown(object sender, KeyEventArgs e) {//Sólo se pueden pulsar números if (selectedCell != null) { if (e.Key == Key.Escape) { Application.Current.Shutdown(); } else if (e.Key == Key.Delete) { selectedCell.Reset(); } else if (e.Key == Key.Enter) { Solve(); } else if (!selectedCell.Fixed && !selectedCell.Solved) { int keyVal = (int)e.Key; int value = -1; if (keyVal >= (int)Key.D0 && keyVal <= (int)Key.D9) {//Si pulsa un nº en el teclado superior, lo borra como posibilidad value = (int)e.Key - (int)Key.D0; selectedCell.Possible.Remove(value); //Solve(); } else if (keyVal >= (int)Key.NumPad0 && keyVal <= (int)Key.NumPad9) {//Si pulsa un nº en el teclado numérico, lo settea value = (int)e.Key - (int)Key.NumPad0; selectedCell.writeNum(value); } } } }