在WPF中使用Sendkes.Send函数

在WPF中使用Sendkes.Send函数,wpf,textbox,sendkeys,Wpf,Textbox,Sendkeys,我有一个wpf应用程序。 在我的文本框中,我想当用户按“回车”键时,焦点跳到下一个选项卡索引控件,就像按tab键一样,我使用这个代码 if (e.Key == Key.Enter) { SendKeys.Send("{TAB}"); } if (e.Key == Key.Escape) { SendKeys.Send("+{tab}"); } 但这不起作用。 您能帮助我吗?您需要使用TraversalRequest: if (e.Key == Key.Enter)

我有一个wpf应用程序。 在我的文本框中,我想当用户按“回车”键时,焦点跳到下一个选项卡索引控件,就像按tab键一样,我使用这个代码

if (e.Key == Key.Enter)
{
     SendKeys.Send("{TAB}");
}
if (e.Key == Key.Escape)
{
     SendKeys.Send("+{tab}");
}
但这不起作用。
您能帮助我吗?

您需要使用TraversalRequest:

if (e.Key == Key.Enter)
        {
            TraversalRequest tRequest = new TraversalRequest(FocusNavigationDirection.Next);               
            UIElement keyboardFocus = Keyboard.FocusedElement as UIElement;

            if (keyboardFocus != null)
            {
                keyboardFocus.MoveFocus(tRequest);
            }

            e.Handled = true;
        }           
TraversalRequest将FocusNAvigationDirection作为其参数,确定要导航的方向

另外,这是on traversalRequest类