【发布时间】:2012-10-25 20:08:57
【问题描述】:
我有一个 .Net 4 应用程序,在 WPF 4 中有两个窗口:
- 使用 WS_EX_NOACTIVATE 样式来防止获得焦点。
- 另一个是基本窗口。
只要我不选择基本窗口(它没有获得焦点),“不激活”窗口行为就合适了。但选择基本窗口时,“无激活”窗口可以聚焦......并在用户点击它时获得它。
就好像 WPF 认为同一应用程序的两个窗口有权提供焦点,即使它们不应该这样做。 如果两个窗口都是 WS_EX_NOACTIVATE,则不会发生此行为。
你有没有遇到过这个问题? 我读过这个:WPF in Visual Studio 2010 – Part 3 : Focus and Activation,但没有解决。
编辑:我已经能够通过使用 Popup 作为我的非活动窗口的基类来解决问题。但是,我不想有弹出窗口。为什么 !?弹出窗口从未获得焦点:有人知道为什么/如何?如何将此行为重现到 Window ? 我尝试进入 Popup / Window 代码,但不是很清楚!
谢谢!
【问题讨论】:
-
您不想让窗口变为活动状态??那为什么要创建窗口,如果只是为了做一些代码,您还可以添加代码文件或类..还有 .hide 和 .show 和 .activate 作为表单操作。
-
需要窗口。这是一个永远不需要获得焦点的 OSK。本项目开源:Civikey WebsiteCivikey on GitHub.