我有一个Visual FoxPro 9应用程序,我使用COM互操作从中调用wpf窗口。当第一次按下TAB时,焦点将返回到FoxPro窗口。如果我回到wpf窗口,这将再次发生,直到我第三次这样做,然后焦点正常工作。使用鼠标或Alt + Tab返回到wpf窗口会发生这种情况。无论是否存在聚焦元素(文本框,日期选择器,...),都会发生这种情况。 我试图捕获窗口的PreviewKeyDown事件,但它似乎发生它才能捕获它。我已经在wpf应用程序中测试了wpf窗口,它运行正常。
C Sharp课程就像:
[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,而且我的想法已经用完了。有人知道这个吗?
答案 0 :(得分:1)
可能听起来很愚蠢,但是你可以在WPF窗口处于活动状态时禁用VFP窗口吗?这不是一个解决方案,但基于与VFP合作10年,有时你只需要停止对着砖墙猛击你的头并去找kludge。 ;)