Me gustaría validar la entrada del usuario para garantizar que sean enteros. ¿Cómo puedo hacerlo? Pensé en usar IDataErrorInfo
que parece ser la forma "correcta" de hacer la validación en WPF. Así que traté de implementarlo, en mi ViewModel.Permitir solo la entrada numérica en el cuadro de texto WPF
Pero la cosa es que mi cuadro de texto está vinculado a un campo entero, y no hay ninguna necesidad de validar si un int
es un int
. Noté que WPF agrega automáticamente un borde rojo alrededor del cuadro de texto para notificar al usuario del error. La propiedad subyacente no cambia a un valor no válido. Pero me gustaría notificar al usuario de esto. ¿Cómo puedo hacerlo?
esto no manejará los espacios en blanco. ¿cómo puedo manejar dem? –
recortarlos más adelante? –
IsTextNumeric devuelve verdadero para texto no numérico. Una solución más legible sería cambiar la expresión regular a [0-9] y establecer e.Handled =! IsTextNumeric, por lo que el evento se borra cuando el texto es numérico. Eso o cambie el nombre del método a IsTextNotNumeric :) –