可以在WindowsFormsHost内部绘制DirectX场景,但此解决方案涉及到一些互操作问题,主要是“空域”问题。因此,在创建整个框架之前,我想知道,在WPF窗口中使用的D3DImage是否会导致WindowsFormsHost文档中描述的覆盖和大小问题?或者它被设计成完全兼容WPF系统?谢谢你的帮助。
发布于 2010-03-16 01:10:03
在MSDN页面D3DImage Class中,您可以看到D3DImage只是从ImageSource派生而来。因此,当它被像Image这样的控件使用时,它只是一个源代码。它根本没有改变控制,所以所有那些令人讨厌的空域问题都已成为历史。它还允许您执行您习惯于对控件执行的所有操作,现在也允许对D3D内容执行操作,如获取鼠标事件、更改不透明度和应用转换。
然而,它并不是免捕获的。正如在msdn上声明的,它不能在远程桌面连接上工作,并且存在重大的性能问题。(可能需要进行一些调整)
如果你想开发一个像游戏一样的DirectX应用,我建议你考虑直接使用DirectX或者使用微软的游戏开发框架XNA。有关更多信息,请查看XNA Developer Center。
对于任何其他读者来说,如果你只想在屏幕上显示一个立方体或一个具有3d外观的UI,也许WPF-3D就足够了。
虽然我个人还没有看到很多项目使用D3D控件,但确实有很多可能性。
祝你好运
https://stackoverflow.com/questions/2442286
复制相似问题