2012-04-20 56 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,它也提供了格式高亮。