¿Cómo hacer que Textbox solo ingrese números en WPF?
Primero, agrega un cuadro de texto a la interfaz.
& ltTextBox Name="txt_group_userNo "objeto de datos. Pegar = "txt _ grupo _ número de usuario _ Pegar" método de entrada. isinputmethodabled = " False " vista previa keydown = " txt _ group _ userNo _ vista previa keydown " vista previa textinput = " txt _ group _ userNo _ vista previa textinput " Ancho = " 100 " & gt;
Luego implemente el evento en el código subyacente.
#Solo se pueden ingresar números en el cuadro de texto de control de área.
Vacío privado txt_group_userNo_Pasting(Remitente del objeto, DataObjectPastingEventArgs e)
{
if(e . objeto de datos . obtener datos presentes (tipo de (Cadena)) )
{
Texto de cadena =(Cadena)e .objeto de datos (tipo de(Cadena)); )
{ e . cancelar comando();}
}
si no { e . cancelar comando();}
}
txt vacío privado _ grupo _ número de usuario _ vista previa keydown(remitente del objeto, KeyEventArgs e)
{
if (e.Key == Key. Space)
e.Processed=True;
}
private void txt_group_userNo_PreviewTextInput (objeto remitente, TextCompositionEventArgs e)
{
Si (! es numérico (e.Text))
{
e.Processed=True;
}
Otro
e.Processed=false;
}
El booleano estático público es numérico (string _string)
{
if(string.IsNullOrEmpty(_string))
Devuelve falso
foreach (carácter c en _string )
{
if(!char.IsDigit(c)&&c.ToString()!= "*")
//if( c <0 ' c = " " & gt9') // La mejor manera es agregar un 0 a los datos de prueba a continuación, entonces la eficiencia de este método es de aproximadamente 10 milisegundos.
Devuelve falso
}
Devuelve verdadero
}
#Área final