【发布时间】:2009-08-28 12:28:15
【问题描述】:
我目前正在开发一个 WPF 应用程序,我希望在其中拥有一个只能包含数字条目的 TextBox。我知道当我失去焦点并阻止内容为数字时,我可以验证它的内容,但在其他 Windows 窗体应用程序中,我们使用完全阻止除数字之外的任何输入被写下。另外,我们习惯于将该代码放在一个单独的 dll 中,以便在许多地方引用它。
这是 2008 年未使用 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
WPF 中是否有等效的方法?我不介意这是一种风格,但我是 WPF 的新手,所以风格对于他们能做什么或不能做什么有点模糊。
【问题讨论】:
标签: wpf validation textbox numeric