Actualmente estoy trabajando en una aplicación WPF donde me gustaría tener un TextBox
que solo puede tener entradas numéricas. Sé que puedo validar el contenido cuando pierdo el foco y bloquear el contenido para que no sea numérico, pero en otra aplicación de Windows Form, utilizamos para bloquear por completo cualquier entrada, excepto la numérica, de que se anote. Además, usamos para poner ese código en un dll separado para referenciarlo en muchos lugares.Validación en el cuadro de texto en WPF
Aquí está el código en 2008 no usar WPF:
Public Shared Sub BloquerInt(ByRef e As System.Windows.Forms.KeyPressEventArgs, ByRef oTxt As Windows.Forms.TextBox, ByVal intlongueur As Integer)
Dim intLongueurSelect As Integer = oTxt.SelectionLength
Dim intPosCurseur As Integer = oTxt.SelectionStart
Dim strValeurTxtBox As String = oTxt.Text.Substring(0, intPosCurseur) & oTxt.Text.Substring(intPosCurseur + intLongueurSelect, oTxt.Text.Length - intPosCurseur - intLongueurSelect)
If IsNumeric(e.KeyChar) OrElse _
Microsoft.VisualBasic.Asc(e.KeyChar) = System.Windows.Forms.Keys.Back Then
If Microsoft.VisualBasic.AscW(e.KeyChar) = System.Windows.Forms.Keys.Back Then
e.Handled = False
ElseIf strValeurTxtBox.Length < intlongueur Then
e.Handled = False
Else
e.Handled = True
End If
Else
e.Handled = True
End If
¿Hay una manera equivalente en WPF? No me importaría si esto tiene un estilo, pero soy nuevo en WPF, por lo que el estilo es un poco oscuro para lo que pueden o no pueden hacer.
Lo intentaré. Imagino que prácticamente puedo agregar algo así. Por ejemplo, la longitud máxima del texto dentro, que también es otro problema que tuve. –
Ha olvidado mencionar que es la longitud máxima de un número flotante (el número máximo de número decimal y máximo de la parte entera) –
Sí, las propiedades adjuntas son muy potentes y le permitieron agregar todo tipo de comportamientos. –