Tôi muốn xác thực mục nhập của người dùng để đảm bảo chúng là số nguyên. Tôi làm nó như thế nào? Tôi nghĩ đến việc sử dụng IDataErrorInfo
mà có vẻ như cách "đúng" để thực hiện xác nhận trong WPF. Vì vậy, tôi đã thử triển khai nó, trong ViewModel của tôi.Chỉ cho phép nhập số vào Hộp văn bản WPF
Nhưng vấn đề là hộp văn bản của tôi bị ràng buộc vào trường số nguyên và không cần xác thực nếu int
là int
. Tôi nhận thấy rằng WPF tự động thêm đường viền màu đỏ xung quanh hộp văn bản để thông báo cho người dùng về lỗi. Thuộc tính cơ bản không thay đổi thành giá trị không hợp lệ. Nhưng tôi muốn thông báo cho người dùng về điều này. Tôi làm nó như thế nào?
điều này sẽ không xử lý các khoảng trống. làm thế nào tôi có thể xử lý dem? –
cắt chúng sau này? –
IsTextNumeric trả về true cho văn bản không phải là số. Một giải pháp dễ đọc hơn sẽ là thay đổi regex thành [0-9] và đặt e.Handled =! IsTextNumeric, vì vậy sự kiện này được phát ra khi văn bản là số. Điều đó hoặc thay đổi tên phương thức thành IsTextNotNumeric :) –