我的表格中有一个按钮......
<Button Name="Submit" Content="OK"
IsDefault="True"
Click="Submit_Click"/>
你确定知道,它做了什么。我需要的是,在按Enter键时绕过提交事件,但只在我的表单中的所有字段中...
<TextBox Name="ArticleBarcode"
Text="{Binding Path=Barcode}"
KeyDown="ArticleBarcode_KeyDown"/>
原因,为什么我需要这样的东西,是因为条形码的输入将通过条形码阅读器设置。用户用他的阅读器读取文章条形码,它就像无线键盘一样。它发送击键 - 条形码的数字,最后,它发送Enter键击。因此,我需要输入此按键并取消提交,如果它来自该特定字段。我怎么能这样做?
谢谢,JiKra
答案 0 :(得分:2)
如其他人的评论所述:
在TextBox的PreviewKeyDown
事件中,如果按下的键是e.Handled
键,则将Enter
设置为True:
private void ArticleBarcode_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
e.Handled = true;
}
这可以防止键触发其他处理程序,例如负责执行默认按钮的处理程序。