我们正在开发具有全屏OpenGL图形的Windows桌面应用。现在我们想在OpenGL上显示一堆控件(箭头,按钮等)。事实证明这很难做到。
大多数教程都建议使用WindowsFormsHost进行OpenGL渲染,我们这样做了:http://www.codeproject.com/Articles/23736/Creating-OpenGL-Windows-in-WPF
不幸的是,现在我们无法在WindowsFormsHost上绘制WPF控件,在互联网上也有很多讨论:WindowsFormsHost is always the most top from WPF element Render WPF control on top of WindowsFormsHost
有一些黑客可以解决这个问题,但它们看起来都很脏。 是否有正确的方法直接在WPF中绘制OpenGL而不会弄乱Windows窗体? (我只是不知道为什么你不能直接在WPF中使用它。)
简而言之:是否有一种已知的解决方案,用于在WPF应用程序中通过OpenGL绘制UI?
答案 0 :(得分:0)
创建一个wpf窗口。 在背景中渲染您的opengl视口。 获取opengl视口的快照并在WPF中显示图像。 将WPF图像上的所有UI事件传输到opengl视口。