WPF程序里嵌入的OpenGL子进程窗口显示异常

光泽 王 0 信誉分
2024-12-19T03:24:25.52+00:00

在.Net6编写的WPF主程序(MainWindow.exe)里,采用MahApps.Microsoft.DwayneNeed组件,通过AirspaceMode="Redirect"与<WindowsFormsHost>组合方式(参见:https://blog.csdn.net/weixin_33881041/article/details/94560446)嵌入的OpenGL程序(glDemo.exe)。

1)glDemo程序选择集成显卡,启动MainWindow时嵌入的glDemo显示正常;

2)glDemo程序选择高性能显卡,启动MainWindow时嵌入的glDemo显示异常;

3)远程桌面访问时,采用“2)”的方式启动MainWindow,嵌入的glDemo显示正常;
4)glDemo程序选择高性能显卡,直接启动glDemo显示正常;
5)如果在xaml里去掉DwayneNeed组件,直接使用<WindowsFormsHost>托管glDemo,启动MainWindow时嵌入的glDemo显示正常,但是会出现空域问题(悬浮WPF控件被压盖)。

请问如何配置和调整代码与环境,可以在“2)”的环境下也可以正常显示glDemo,不压盖WPF控件。

代码压缩包(将xml扩展名改为rar): OpenGLDemo(RAR).xml

以下为实验1和实验2的运行截图。 异常

正常

开发人员技术 Windows Presentation Foundation
Windows 商业版 适用于 IT 专业人员的 Windows 客户端 设备和部署 其他
0 个注释 无注释
{count} 票

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。