我目前工作的一個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