2011-08-09 57 views
0

我有一個Visual FoxPro 9應用程序,我使用COM interop調用wpf窗口。第一次按TAB時,焦點返回到FoxPro窗口。如果我回到wpf窗口,這會再次發生,直到我第三次這樣做,然後焦點正常工作。這發生在使用鼠標或Alt + Tab返回到wpf窗口。它會發生是否有焦點元素(文本框,日期選擇器,...)或不。 我試圖捕獲窗口的PreviewKeyDown事件,但它似乎發生在它可以捕獲它之前。我已經在wpf應用程序中測試過wpf窗口,它工作正常。Foxpro託管Wpf窗口返回焦點foxpro按Tab時

升C類是這樣的:

[ClassInterface(ClassInterfaceType.AutoDispatch)] 
[ProgId("SBN.WPF.Com")] 
[ComVisible(true)] 
public class WpfFoxPro 
{ 

和FoxPro的調用是這樣的:

oDll = Createobjectex("SBN.WPF.Com", "", "") 
oDll.VOpenWPFWindow() 

我使用Visual Studio 2010和.NET 4.0和我跑出來的想法。有人知道這件事嗎?

回答

1

可能聽起來很愚蠢,但是你可以禁用VFP窗口,而WPF是活動的?這不是一個解決方案,但基於與VFP合作的10年時間,有時你不得不停止將你的頭靠在磚牆上,然後去拼湊。 ;)

+0

這就是我如何得到它,而我發現和實際的解決方案... – CarlosJ

+0

差不多一年後,它仍然是一樣的,雖然沒有進一步的研究...現在,它的時間遷移到整個應用程序WPF並忘記FoxPro。 – CarlosJ

+0

我希望我有這種奢侈! ;) – Swordblaster