我目前工作的一个WPF应用程序,我想有一个TextBox
只能有它的数字条目。我知道我可以验证它的内容时,我失去焦点,并阻止系统的数字内容,但在其他Windows窗体应用程序中,我们用它来完全阻止任何输入数值除外被记录下来。另外,我们使用将该代码放在单独的dll中以在许多地方引用它。验证的文本框在WPF
这里是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这样的风格都有点晦涩他们可以或不可以做。
我会尝试。 我想,我几乎可以添加这样的事情。例如,里面的文本的最大长度,这也是我的另一个问题。 – 2009-08-31 13:18:20
忘了提,这是一个浮点数(小数和整数部分的最大数量的最大数量)的最大长度 – 2009-08-31 14:21:07
是,附加属性是非常强大的,并允许你添加所有类型的行为。 – 2009-08-31 18:17:34