DirectX场景可以在WindowsFormsHost中绘制,但是这个解决方案涉及一些互操作问题,主要是“空域”问题。因此,在为此创建整个框架之前,我想知道,如果在WPF窗口中使用的D3DImage会导致覆盖和大小调整的问题,如WindowsFormsHost文档中所述?或者它是否与WPF系统完全兼容? 谢谢你的帮助。
答案 0 :(得分:2)
在MSDN页面D3DImage Class中,您可以看到D3DImage只是派生自ImageSource。因此,当像Image这样的控件使用它时,它只是一个来源。它根本不会改变控制,因此所有那些令人讨厌的空域问题都是历史。它还允许您执行以前用于控制的所有操作,现在也可以执行D3D内容,例如获取鼠标事件,更改不透明度以及应用变换。
但是,它不是免费的。如msdn所述,它不适用于远程桌面连接,并且存在重大的性能问题。 (可能需要一些调整)如果您希望像游戏一样制作DirectX重型应用,我建议您直接使用DirectX或使用Microsoft游戏开发框架XNA。有关详细信息,请查看XNA Developer Center。
对于任何其他读者,如果您只是想在屏幕上使用立方体或具有3d外观的UI,那么WPF-3D可能足以满足您的需求。
虽然我个人没有看到很多项目使用D3D控件,但肯定有很多可能性。
祝你好运,