2011-04-28 121 views
5

我从WinForms窗口启动的WPF窗体显示为无法编辑的所有文本框作为无模式对话框启动时显示。当它是一个模态窗口时,它运行良好。我仍然可以输入空格或粘贴文本。但常规打字不起作用。我在SP1中使用3.5。有人会知道如何解决这个问题吗?WPF无模式对话框呈现文本框不可编辑

+0

某些代码可能有帮助... – biju 2011-04-28 12:29:40

+0

是的,你可以发布一些代码吗?问题现在还没有太清楚的思考答案。 – 2011-04-28 12:32:19

+0

如果我做wpfUI.Show()而不是wpfUI.ShowDialog(),我的wpfUI窗口上的文本框无法输入到。代码不能比这更简单。 – aliensurfer 2011-04-28 12:36:27

回答

8

您需要确保为您的WPF窗口调用ElementHost.EnableModelessKeyboardInterop。这将钩住WPF消息循环以允许键盘输入。

+0

工作。谢谢。 – aliensurfer 2011-04-28 13:05:30

+1

我现在有一个奇怪的问题。我也是从MS Excel打开我的WPF UI作为加载项。 EnableModelessKeyboardInterop在那里不起作用。每当我尝试编辑我的WPF文本框时,焦点都转移到Excel,并在Excel上生成键盘输入。有想法该怎么解决这个吗? 这是我找到它的,但我希望这不是唯一的解决方案: http://blogs.msdn.com/b/andreww/archive/2009/02/24/message-hooks-in-add -ins.aspx – aliensurfer 2011-05-03 03:02:57

+0

@Prakash - 对不起,我对Excel插件没有任何经验。您可能希望将其作为另一个问题。 – CodeNaked 2011-05-03 11:29:32