将RenderWindowControl添加到工具箱中

问题描述 投票:1回答:2

我正在尝试使用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'或其依赖项之一。试图加载格式错误的程序。

以前有人遇到过这个问题吗?有什么想法吗?

vtk
2个回答
2
投票

对于设计模式,您将需要使用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);
}

0
投票

将VTK的RenderWindowControl添加到WPF有点复杂。假设您安装了64位VTK软件包,则以下步骤对我有用。

https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/walkthrough-hosting-a-windows-forms-control-in-wpf

  • 向WindowsFormsIntegration和System.Windows.Forms添加项目引用
  • 在设计器表单上绘制网格。
  • 在“属性”对话框中,输入名称,然后
  • 双击加载的事件。
  • 在已加载的事件处理程序中添加代码。
  // 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);
© www.soinside.com 2019 - 2024. All rights reserved.