0

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

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

    e.Handled = allowedKeys;
}

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

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

4

1 回答 1

1

对我来说似乎是一种有效的方法,但是我会尝试在字符无效时显示一些消息告诉用户,否则他们可能会认为某些东西被破坏了。

通过子类化TextBox和提供允许字符的属性来使逻辑通用化也是一个好主意。一些库已经有这样的控件,比如MaskedTextBox扩展的 WPF 工具包,它也提供格式突出显示。

于 2012-04-20T01:58:17.880 回答