在WPF应用程序中按下Return键时如何模拟Tab键?

Dan*_*986 16 c# wpf keypress

在WPF应用程序中,我有一个包含很多字段的窗口.当用户在填充每个字段后使用TAB键时,Windows会理解它会移动到下一个字段.这是非常了解的行为.

现在我想要的是,它使模拟TAB键,实际上RETURN被击中.所以在我的WPF xaml中,我添加了暗示KeyDown="userPressEnter"

在它背后的代码中:

private void userPressEnter(object sender, KeyEventArgs e)
{
  if (e.Key == Key.Return)
  {
    e.Key = Key.Tab // THIS IS NOT WORKING
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,显然这不起作用.但我不知道的是,我如何使这项工作?


编辑1 ==>找到一个解决方案

我找到了帮助我的东西=)

private void userPressEnter(object sender, KeyEventArgs e)
{
 if (e.Key == Key.Return)
 {
   TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);
   MoveFocus(request);
 }
}
Run Code Online (Sandbox Code Playgroud)

这样,焦点移动到下一个它可以找到:)

Nic*_*ray 13

你可以在这里看一篇文章:http: //social.msdn.microsoft.com/Forums/en/wpf/thread/c85892ca-08e3-40ca-ae9f-23396df6f3bd

这是一个例子:

private void textBox1_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);
                request.Wrapped = true;
                ((TextBox)sender).MoveFocus(request);
            }
        }
Run Code Online (Sandbox Code Playgroud)