WPF FocusNavigationDirection,MoveFocus和箭头键
|
我有一个简单的应用程序(一个带有6个按钮的网格-2行3行-用于测试),并且正在按以下方式处理左右箭头键
private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
{
FocusNavigationDirection focusDirection = new System.Windows.Input.FocusNavigationDirection();
switch (e.Key)
{
case Key.Left:
focusDirection = System.Windows.Input.FocusNavigationDirection.Left;
break;
case Key.Right:
focusDirection = System.Windows.Input.FocusNavigationDirection.Right;
break;
default:
break;
}
TraversalRequest request = new TraversalRequest(focusDirection);
// Gets the element with keyboard focus.
UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;
// Change keyboard focus.
if (elementWithFocus != null)
{
elementWithFocus.MoveFocus(request);
}
}
不幸的是,这并不符合我的预期,因为焦点似乎总是朝着与FocusNavigationDirection指定的方向相反的方向移动。
对为什么会这样有什么想法? MSDN文档对于如何定义“ \”的左侧有点含糊。
如果需要,我还将每个按钮的制表位定义为1到6。
没有找到相关结果
已邀请:
2 个回复
冕偷淮款
渐首洽陈染
(左)和
(右)? 与其他值相比,这可能会提供更可预测的行为。