WPF中的页面失去了焦点

时间:2013-09-24 15:17:36

标签: wpf

我在WPF中有一个带有文本框的页面。此文本框设置为专注于加载。

在后台运行一个应用程序,它接受生物识别扫描结果的字符串值并将其放在该文本框中。这是第三方应用程序,我们被告知它在具有特定名称的应用程序中查找具有特定名称的文本框,如果该文本框被关注,则它将写入该字符串。

这完全正常,但下面是我遇到的问题。

我们有另一款软件,它是一个自定义的屏幕键盘。也可以写入文本框,以便用户可以单击按钮调出此键盘然后开始键入。然而,当这个键盘出现时,它似乎失去了我的应用程序的焦点,它不会再回来。对于我们运行的应用程序的生命周期,生物识别技术不起作用,因为它不会将我的应用程序视为当前关注的应用程序。

如何强制我的应用程序重新聚焦,但仅限于我希望它。我不希望它总是在焦点和顶部,否则自定义键盘永远不会显示。

我没有欣喜地看着Application.Activated Event,甚至尝试了以下

public static extern bool SetForegroundWindow(IntPtr hWnd);

得到一个但是卡住了,有没有人有任何建议?

1 个答案:

答案 0 :(得分:0)

您是否尝试过Activate()和Focus()方法? 该主题有关于主题Bring a window to the front in WPF

的一堆答案

这个特别适合我https://stackoverflow.com/a/7559766/305020