【发布时间】:2010-12-04 21:25:01
【问题描述】:
我们在 WinForm 中开发了一个大项目。现在我正在使用 WPF 向项目中添加一个新窗口。 WPF 窗口现在是项目的一部分,即它不是单独的项目或 dll。现在发生的情况是任何应该接受键输入的控件,例如文本框,都不会响应我的键盘输入。窗口只响应鼠标。
如果我创建另一个 WPF 项目并调用此窗口,则所有键都有效!
有人知道这是什么原因吗?有什么解决办法吗?谢谢!
【问题讨论】:
我们在 WinForm 中开发了一个大项目。现在我正在使用 WPF 向项目中添加一个新窗口。 WPF 窗口现在是项目的一部分,即它不是单独的项目或 dll。现在发生的情况是任何应该接受键输入的控件,例如文本框,都不会响应我的键盘输入。窗口只响应鼠标。
如果我创建另一个 WPF 项目并调用此窗口,则所有键都有效!
有人知道这是什么原因吗?有什么解决办法吗?谢谢!
【问题讨论】:
从 Winforms 代码创建 WPF 窗口时,请务必使用 ElementHost.EnableModelessKeyboardInterop 以允许 WPF 输入工作。
例子:
Window window = new Window1();
ElementHost.EnableModelessKeyboardInterop(window);
window.Show();
【讨论】: