如何使用WPF项目中的C ++呈现

时间:2015-05-14 14:51:10

标签: c# c++ vtk

我有一个带有我自己的核心和渲染的c ++应用程序(我正在使用VTK),所以我将有一个vtkRenderWindow,我想把它放到一个C#WPF项目中。

我有一个托管DLL来使用C#中的核心,所有工作(比如基本功能,实例化托管DLL对象,进行一些计算,但没有渲染),但我不知道如何将渲染放入C#窗口。

我没有使用C#包装器,所以基本上我想把这个渲染放到C#WPF项目中,我怎么能这样做? 是否有任何WPF通用小部件允许这样做?

事先提前!!

2 个答案:

答案 0 :(得分:4)

我只在WinForms和VTK 5.x中完成此操作,可能有更新的WPF和VTK 6解决方案。

VTK中的vtkFormsWindowControl.dll允许你包装你的vtkRenderer所以它 可以在WinForms中显示。 这是带有链接和示例的VTK文档:http://vtkdotnet.sourceforge.net/Programming.html

然后,您可以在WPF中托管WinForms控件:https://msdn.microsoft.com/en-us/library/ms751761(v=vs.110).aspx

编辑以添加版本号和链接。

答案 1 :(得分:2)

在寻找一些替代方案一周后,我所要做的就是通过HWND到C ++类并使用vtkRenderWindow-> SetParentId()方法将vtkRenderWindow设置为我想要的控件的子级,当然,我不得不创建CLR类等,但这里重要的是这个方法,需要大量的答案