我有以下WPF代码来验证按键,并且根据按下的键,它允许用户输入键或只是停止按键事件以停止输入无效键..
<TextBox PreviewKeyDown="PreviewKeyDown" />
private void PortPreviewKeyDown(object sender, KeyEventArgs e)
{
bool allowedKeys;
allowedKeys = // logic for validation
e.Handled = allowedKeys;
}
我的问题是,这是在WPF中进行验证的正确方法..我想限制用户输入无效字符..
我知道我可以使用依赖项属性和调用验证,然后显示错误或成功消息,但我不想那么远,我只是想阻止用户输入无效字符。
答案 0 :(得分:1)
对我来说似乎是一种有效的方法,但我会尝试显示一些消息告诉用户角色何时无效,否则他们可能会认为某些内容已被破坏。
通过继承TextBox
并提供允许使用字符的属性,使逻辑通用也是一个好主意。有些库已经有这样的控件,比如扩展WPF工具包的MaskedTextBox
,它也提供了格式高亮显示。