我有一个嵌入在Microsoft Outlook 2003窗口中的WPF应用程序。一切工作正常,除了我的TextBox控件没有接受退格键。我做了一些研究,只有当我的窗口是Outlook窗口的子窗口而不是其他窗口时,问题才存在(我将它注入到Firefox并且工作正常,并且如果将我的wpf UserControl放入对话窗口它也可以)。这似乎是人们报告(文本框只接受删除/方向键/等)相反的问题,而这个线程有些信息(虽然没有解决我的问题):WPF TextBox not accepting Input when in ElementHost in Window FormsWPF文本框不接受删除键
这里是我的设置: 我创建一个WPF UserControl,然后我将它放在一个ElementHost中。我将该主机放入一个Windows窗体用户控件中,该控件被放入另一个窗体用户控件中,该窗体被放入NativeWindow中(我尝试删除一些用户控件封套,但没有任何效果)。这个Native窗口然后成为Outlook窗口的子窗口,并放置在我需要它在Outlook中的位置。
有没有人有任何想法?也许我需要处理Windows消息不同?我做了一些调查,发现当我点击退格键时,Outlook会收到一条WM_COMMAND消息,但是当我没有碰到其他东西的时候没有。也许它是解释退格键作为菜单加速器或类似的东西?
谢谢。
出于兴趣,你是否也比较了WParam的价值,或者你只看到事件是否发生了?该解决方案是否仍能正常工作? :-) – traskjd 2009-11-25 03:33:59