C# 按键验证
我有以下WPF代码来验证按键,根据按键情况,它要么允许用户输入按键,要么简单地停止按键事件以停止输入无效按键C# 按键验证,c#,wpf,xaml,C#,Wpf,Xaml,我有以下WPF代码来验证按键,根据按键情况,它要么允许用户输入按键,要么简单地停止按键事件以停止输入无效按键 <TextBox PreviewKeyDown="PreviewKeyDown" /> 我的问题是,这是在WPF中进行验证的正确方法吗。。我想限制用户输入无效字符 我知道我可以使用依赖属性和调用验证,然后显示错误或成功消息,但我不想走得太远,我只想阻止用户输入无效字符。对我来说似乎是一种有效的方法,但是我会尝试显示一些消息,告诉用户某个字符何时无效,否则他们可能会认为有东西
<TextBox PreviewKeyDown="PreviewKeyDown" />
我的问题是,这是在WPF中进行验证的正确方法吗。。我想限制用户输入无效字符
我知道我可以使用依赖属性和调用验证,然后显示错误或成功消息,但我不想走得太远,我只想阻止用户输入无效字符。对我来说似乎是一种有效的方法,但是我会尝试显示一些消息,告诉用户某个字符何时无效,否则他们可能会认为有东西坏了 通过子类化
TextBox
并提供允许使用哪些字符的属性,使逻辑成为泛型也是一个好主意。一些库已经有了这样的控件,比如扩展WPF工具包的控件,它还提供了格式高亮显示
private void PortPreviewKeyDown(object sender, KeyEventArgs e)
{
bool allowedKeys;
allowedKeys = // logic for validation
e.Handled = allowedKeys;
}