我有一个 wpf 应用程序。在我的 TextBox 中,我希望当用户按下“Enter”键时,焦点会跳转到下一个选项卡索引控件,就像按下 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 作为其参数,确定您要导航的方向。
此外,这是 traversalRequest 类的MSDN。