对文本框的按键执行逻辑

2 c# wpf textbox

我需要做一些逻辑,但只能从特定的文本框。尝试进行一些搜索时,似乎没有针对文本框但针对整个窗口的 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)

如您所见,我无法弄清楚检查焦点命令。所以要么我错过了文本框上的关键检查,要么找到了焦点命令

谢谢

Mis*_*sky 5

要获取您按下的文本框,您应该:

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)