我正在尝试使用Kitware ActiViz.NET,我已经使用nuget安装了它。但我似乎在工具箱上找不到RenderWindowControl。我一直试图用这种方式手动添加:
现在,您应该在ToolBox中看到一个名为RenderWindowControl的新控件。但是我得到“文件"C:\programfiles\activiz.net 5.8.0开源Eddition\bin\kitware.vtk.DLL”是无效的“。
我试图在代码中添加控件,而不是设计器,并得到了这个异常:无法加载文件或程序集'Kitware.VTK、Version=5.8.0.607、Culture=neutral、PublicKeyToken=995c7fb9db2c1b44‘或其依赖项之一。试图加载格式不正确的程序。
以前有人遇到过这个问题吗?有什么想法吗?
发布于 2015-09-17 13:40:12
对于设计模式,您需要使用32位版本,因为VS在32位上运行,只能加载32位控件。因此,您可以在设计时使用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);
}发布于 2020-04-24 11:35:01
将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);https://stackoverflow.com/questions/32629232
复制相似问题