我有一个遗留的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窗口有任何想法?
谢谢,
尼克