【发布时间】:2017-06-23 21:38:51
【问题描述】:
我正在开发 wpf 应用程序,该应用程序包含主要的 Window.xaml 和 DataGrid,当然还有文章,如果用户选择文章并按“/”,我应该下一步做,而不是让他编辑价格 - 用价格解锁字段,当用户完成后,他应该按回车键,然后我应该检查是否按回车键,以便我可以更新该文章的新价格。
首先,这就是我检查“/”的方式,因为我无法为这个键争取正确的 OEM,而且我担心用户更改时会发生什么他键盘上的语言,所以我就这样做了。
private void Window_PreviewTextInput_1(object sender, TextCompositionEventArgs e)
{
if (e.Text == "/")
{
if (globalTemp != null)
{
txtPrice.IsEnabled = true;
}
}
}
在我给用户更改价格的机会后,我应该在 Enter 键上更新文章价格,那么在这个条件 if (e.Text == "/") 被输入后我怎么能检查,因为我看到这里没有 e.Key TextCompositionEventArgs e...
编辑:
也许我可以在这里简单地附加新事件,所以实际上我可能有两个事件,第一个是检测“/”并解锁 txtPrice,另一个是在按下 Enter 时更新它,所以另一个事件可能看起来像这个:
private void txtPrice_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
// UPDATE PRICE HERE
}
}
谢谢大家 干杯
【问题讨论】:
-
你有没有在
KeyDown事件中设置断点,看看你按下“OEM”正斜杠时的事件键码是什么? -
@Abion47 我该怎么做?如何检查“OEM”Fwd Slash 的代码?当我捕捉到 if (e.Text == "/") { 我应该在这里检查什么,读取“OEM”代码} 的属性时?
-
@Abion47 检查我的问题的更新。