我需要做一些逻辑,但只能从特定的文本框。尝试进行一些搜索时,似乎没有针对文本框但针对整个窗口的 KeyDown 或 PreviewKeyUp 事件。所以在 XAML 我有这个
PreviewKeyUp="keyPressLogic"
Run Code Online (Sandbox Code Playgroud)
然后有一个看起来像这样的方法;
private void keyPressLogic(object sender, KeyEventArgs e)
{
if ((e.Key == Key.Down) && (check focus command ) )
{
//My logic
return;
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我无法弄清楚检查焦点命令。所以要么我错过了文本框上的关键检查,要么找到了焦点命令
谢谢
要获取您按下的文本框,您应该:
TextBox textbox = (TextBox)sender;
Run Code Online (Sandbox Code Playgroud)
然后你可以:
private void keyPressLogic(object sender, KeyEventArgs e)
{
if ((e.Key == Key.Down) && (textbox.IsFocused))
{
//My logic
return;
}
}
Run Code Online (Sandbox Code Playgroud)