2011-04-28 81 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