我有一个遗留的C应用程序和一个通过套接字进行通信的WPF应用程序 . 遗留应用程序通过WPF应用程序处理的套接字发送数据来启动WPF窗口 . 应用程序创建一个Window并在其上调用Activate方法 . 顶部在窗口上设置为true,然后返回false,将窗口置于前面 .

window.Topmost = true; window.Activate(); window.Topmost = false ;

问题是,虽然WPF窗口已激活并位于顶部,但有时焦点仍保留在父C窗口中 . 当Activate()返回true时,焦点位于WPF窗口中 . 当Activate()返回false时,焦点位于C窗口中 . 有没有人对如何每次都将焦点转移到WPF窗口有任何想法?

谢谢,

缺口