0

我在窗口中有一个 WPF 表单和一系列类似这样的事件:

1) 第一种形式有一系列选择按钮
2) 单击一个按钮会在现有窗口上方弹出一个进度条窗口
3) 进度窗口关闭,第一种形式使用页面导航切换到新的第二种形式

问题是第二种形式(和整个窗口)不再有任何焦点,真正让我感到沮丧的是窗口不再获得 OnKeyDown() 调用(它仍然是顶部窗口)。如果我按 Tab 键,第一个菜单选项将突出显示,并且以下击键将触发 OnKeyDown()。此外,如果我 alt-tab 到另一个应用程序,然后 alt-tab 回到我的窗口,它将再次开始接收 OnKeyDown()。

如何确定对话后的焦点在哪里?

4

1 回答 1

0

如果您使用导航,则焦点将切换到您导航到的页面,假设它是可聚焦的。

您可以通过在 Page 的 Focused 事件句柄中设置断点来检查。

或者,您可以在 page.Navigated 处理程序中使用显式 control.SetFocus()。

于 2013-11-06T17:20:54.273 回答