' WindowsFormsHost'没找到

时间:2014-07-11 07:41:09

标签: c# wpf

在我的wpf应用程序中,我试图使用Windows窗体控件....但我收到一个错误,即 错误类型' WindowsFormsHost'没找到。验证您是否缺少程序集引用,并且已构建所有引用的程序集。      任何人都可以帮助我完成它......以下是我的代码

       c#:code

     public Window2()
    {
        InitializeComponent();
        System.Windows.Forms.PictureBox PictureBox1 = new System.Windows.Forms.PictureBox();
        windowsFormsHost1.Child = PictureBox1;
        PictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(PictureBox1_Paint);


    }
   xaml:code


         <WindowsFormsHost Height="175" HorizontalAlignment="Left" Margin="10,10,0,0" Name="windowsFormsHost1" VerticalAlignment="Top" Width="255" />

1 个答案:

答案 0 :(得分:14)

通常当我们看到错误时说:

  

找不到类型SomeClass。验证您是否缺少程序集引用,并且已构建所有引用的程序集

可能会有一些问题。这意味着我们没有在项目中添加相关dll的引用,或者我们没有正确导入命名空间。

要查找我们需要添加引用的dll,我们通常会转到MSDN,使用搜索字词&#39; SomeClass类&#39; ...在您的情况下搜索&#39; { {1}}课程&#39;。对WindowsFormsHost课程执行此操作,我们会看到:

enter image description here

请注意以下行:

  

程序集:WindowsFormsIntegration(在WindowsFormsIntegration.dll中)

查看Visual Studio中的添加引用对话框,我们可以看到WindowsFormsHost的dll条目:

enter image description here

这就是我们如何找出要导入的dll的方法。现在,我们只需要确保我们正确地导入命名空间,无论是在C#:

WindowsFormsIntegration

在XAML中,在使用using System.Windows.Forms.Integration; 控件之前,您无需为WindowsFormsIntegration dll添加XML命名空间。

WindowsFormsHost

有关详细信息,请参阅MSDN上的<WindowsFormsHost> <!-- Some WinForms Control --> </WindowsFormsHost> 类页面。