none
Validar solo letras en texbox c# xaml RRS feed

Respuestas

Todas las respuestas

  • Proba con el evento keypress lo siguiente

    if (Char.IsLetter(e.KeyChar))
               {
                   e.Handled = false;
               }
               else if (Char.IsControl(e.KeyChar))
               {
                   e.Handled = false;
               }
               else if (Char.IsSeparator(e.KeyChar))
               {
                   e.Handled = false;
               }
               else
               {
                   e.Handled = true;
               }

    Si no también podes usar algo así.

    private void txtCaracter_KeyPress(object sender, KeyPressEventArgs e)
    {
    if (!(char.IsLetter(e.KeyChar)) && (e.KeyChar != (char)Keys.Back))
    {
          MessageBox.Show("Solo se permiten letras", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
          e.Handled = true;
          return;
    }
    }
    Saludos.

    jueves, 21 de agosto de 2014 18:51
  • Hola en los textbox de Xaml ,Windows phone no existe el KeyPress. Solo KeyDown y KeyUp .

    Long

    viernes, 22 de agosto de 2014 16:39
  • hola

    quizas ayude

    Validaciones de Textboxs, para que solo acepten letras o números en WPF y FORM

    aunque no se si usas algun patron como ser MVVM

    TextBox que no acepte caracteres especiales WPF (TextBox WPF does not accept special characters)

    por supuesto este ultimo toma la tecnica y en lugar de caracteres especiales evitas los numeros

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 22 de agosto de 2014 16:54
  • Gracias si me ayudo en algo 

    Long

    sábado, 23 de agosto de 2014 4:11
  • Hola Christopher, lo puedes hacer utilizando la clase Regex (para expresiones regulares). Dentro del evento KeyUp en donde ya tenemos indicado el valor del texto.

    bool resultado = Regex.IsMatch(TEXTBOX, @"^[a-zA-Z]+$");
    if (!resultado)
    {
        //No es una letra del alfabeto, por lo tanto emitir mensaje de error.
    }
    Saludos.

    Christian Amado | Software Engineer | MCPD: Windows Phone Developer | MCTS: Silverlight Developer

    jueves, 28 de agosto de 2014 14:19
  • Encontre la siguiente solucion para que solo admita letras usando las expreciones regulares en el metodo KeyDown ya que en este evento se evita que si la tecla no es valida se pinte en el control. Esta app es de tipo xaml en c#:

    En este ejemplo se valida que la tecla no sea un numero y que no sea un caracter especial (/*-&, etc) de ser asi no se pinta sobre el textbox

     private void txtMaterno_KeyDown(object sender, KeyRoutedEventArgs e)
            {

    //Se valida que no sea numero  

      bool resultado = Regex.IsMatch(e.Key.ToString(), @"^[a-zA-Z]+$");
                if (!resultado)
                {
                    e.Handled = true;
                    return;
                }
                else
                {

    //Se valida si es un caracter especial

                    resultado = Regex.IsMatch(e.Key.ToString(), @"^[^ ][a-zA-Z ]+[^ ]$");
                    if (resultado)
                    {
                        e.Handled = true;
                        return;
                    }
                }

            }

    miércoles, 17 de diciembre de 2014 18:45