Tôi hiện đang làm việc trên một ứng dụng WPF nơi tôi muốn có một TextBox
mà chỉ có thể có các mục số trong đó. Tôi biết rằng tôi có thể xác nhận nội dung của nó khi tôi mất tiêu điểm và chặn nội dung không bị số, nhưng trong ứng dụng Biểu mẫu Windows khác, chúng tôi sử dụng để chặn hoàn toàn bất kỳ đầu vào nào ngoại trừ số được viết ra. Thêm vào đó, chúng tôi sử dụng để đặt mã đó trong một dll riêng biệt để tham chiếu nó ở nhiều nơi.Xác thực trong hộp văn bản trong WPF
Dưới đây là đoạn code trong năm 2008 không sử dụng 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
Có một cách tương đương trong WPF? Tôi sẽ không quan tâm nếu đây là một phong cách nhưng tôi mới để WPF nên phong cách là một chút che khuất những gì họ có thể hoặc không thể làm.
Tôi sẽ thử điều đó. Tôi tưởng tượng rằng tôi hầu như có thể thêm bất cứ thứ gì như thế. Ví dụ, độ dài tối đa của văn bản bên trong, đó cũng là một vấn đề khác mà tôi có. –
Quên đề cập đến, đó là độ dài tối đa của một số động (số lượng thập phân và số tối đa của số nguyên) –
Có, thuộc tính đính kèm rất mạnh và cho phép bạn thêm tất cả các loại hành vi. –