按键验证

时间:2012-04-20 01:53:56

标签: c# wpf xaml

我有以下WPF代码来验证按键,并且根据按下的键,它允许用户输入键或只是停止按键事件以停止输入无效键..

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

    e.Handled = allowedKeys;
}

我的问题是,这是在WPF中进行验证的正确方法..我想限制用户输入无效字符..

我知道我可以使用依赖项属性和调用验证,然后显示错误或成功消息,但我不想那么远,我只是想阻止用户输入无效字符。

1 个答案:

答案 0 :(得分:1)

对我来说似乎是一种有效的方法,但我会尝试显示一些消息告诉用户角色何时无效,否则他们可能会认为某些内容已被破坏。

通过继承TextBox并提供允许使用字符的属性,使逻辑通用也是一个好主意。有些库已经有这样的控件,比如扩展WPF工具包的MaskedTextBox,它也提供了格式高亮显示。