【发布时间】:2012-09-11 15:46:23
【问题描述】:
我正在处理 myDialog1_KeyDown 事件,如果按下 Enter 键,我的方法会将焦点移至下一个元素,如下所示:
UIElement focusedElement = Keyboard.FocusedElement as UIElement;
if (focusedElement != null)
{
if(focusedElement.MoveFocus(newTraversalRequest(FocusNavigationDirection.Next)))
e.Handled = true;
}
myDialog1 是 myDockBase 对象。 myDockBase 是一个扩展 DXWindow 的类,用于应用程序中的每个模式对话框。
然后问题是当用户位于最后一个字段时 - 当他按下 Enter 键焦点移动到关闭按钮(最小化和最大化按钮被隐藏)然后如果他再次按下 Enter 窗口将关闭。
编辑:我想要的:如果关闭按钮获得焦点,则不允许用户在按下回车键时关闭窗口或不要将焦点移至关闭按钮
【问题讨论】:
-
这严重违反了 UI 标准。勾选关闭按钮的 IsDefault 属性,因此按 Enter 始终关闭对话框。