我正在尝试使用Kitware ActiViz.NET。我已经使用nuget安装了它。但是我似乎在工具箱上找不到RenderWindowControl。我一直在尝试通过这种方式手动添加它:
调用“选择项目...”
并在下面的对话框中单击“浏览...”按钮,
导航到您的ActiViz.NET安装文件夹,浏览至/ bin文件夹中,选择“ Kitware.VTK.dll”。
单击确定。
现在,您应该在工具箱中看到一个名为RenderWindowControl的新控件。但我收到“文件“ C:\ programfiles \ activiz.net 5.8.0开源Eddition \ bin \ kitware.vtk.DLL”无效”。
我试图将控件添加到设计者的代码库中,并得到以下异常:无法加载文件或程序集'Kitware.VTK,版本= 5.8.0.607,区域性=中性,PublicKeyToken = 995c7fb9db2c1b44'或其依赖项之一。试图加载格式错误的程序。
以前有人遇到过这个问题吗?有什么想法吗?
对于设计模式,您将需要使用32Bit版本,因为VS在32Bit上运行,并且只能加载32Bit控件。因此,您可以在设计时使用32位版本,并将构建/发布版本切换到64位版本。
但是您也可以手动添加RenderWindowControl
。当然,设计师将无法显示此内容,因此有必要将其注释掉,然后再切换到设计器]
例如,打开设计器文件Form1.Designer.cs并添加控件,如
private RenderWindowControl myRenderWindowControl;
private void InitalizeComponent()
{
//all other controls added by the designer
myRenderWindowControl = new RenderWindowControl();
myRenderWindowControl.SetBounds(0,0,640,480);
this.Controls.Add(this.myRenderWindowControl);
}
将VTK的RenderWindowControl添加到WPF有点复杂。假设您安装了64位VTK软件包,则以下步骤对我有用。
// Create the interop host control.
System.Windows.Forms.Integration.WindowsFormsHost host =
new System.Windows.Forms.Integration.WindowsFormsHost();
myRenderWindowControl = new RenderWindowControl();
myRenderWindowControl.SetBounds(0, 0, 30, 30); // not too big in case it disappears.
// Assign the control as the host control's child.
host.Child = myRenderWindowControl;
this.VTKGrid.Children.Add(host);