2012-04-20 47 views
0

我有以下WPF代碼來驗證按鍵,並根據按下的按鍵,它允許用戶輸入密鑰或只是停止按鍵事件來停止輸入無效的密鑰。按鍵驗證

<TextBox PreviewKeyDown="PreviewKeyDown" /> 
private void PortPreviewKeyDown(object sender, KeyEventArgs e) 
{ 
    bool allowedKeys; 
    allowedKeys = // logic for validation 

    e.Handled = allowedKeys; 
} 

我的問題是,這是做驗證在WPF的正確方法。我想限制用戶輸入無效字符..

我知道我可以使用依賴屬性和調用驗證然後顯示錯誤或成功ss消息,但我不想那麼遠,我只是想阻止用戶輸入無效字符。

回答

1

好像對我有效的方法,但我會嘗試顯示一些消息,告訴用戶當一個字符是無效的,否則他們可能會覺得有什麼壞了。

它也可能是一個好主意,使邏輯一般通過繼承TextBox和提供哪些字符是允許的屬性。一些庫已經有這樣的控件,比如擴展WPF工具包的MaskedTextBox,它也提供了格式高亮。