我在名为Form1
的应用程序中创建了一个名为AMC_Demo
的表单。如何从WinForms应用程序导入Form1
到WPF应用程序,一步一步?
在AMC_Demo
的来源目录中,我有Form1.cs
,Form1.Designer.cs
Form1.resx
。哪个以及如何复制到WPF项目目录以及如何导入它们以便我可以在WPF解决方案中修改和开发它。
我已添加对System.Windows.Forms
和WindowsFormsIntegration
如何将表单对象直接导入WPF项目?我确实要问,因为我已经尝试复制到WPF项目目录然后添加现有项目但是它被添加到项目中:“其他解决方案“据我记忆。
答案 0 :(得分:2)
您应该能够在WPF应用程序中创建表单并显示它:
// Within some method where you want the form to display
Form1 form = new Form1();
form.Show();
仅当您要在WPF WindowsFormsHost
中嵌入Windows窗体UserControl
(或其他Control
)时,才需要 FrameworkElement
。
答案 1 :(得分:1)
阅读this演练,您会看到WinFormHost是WinForm Form类的特殊实例。您可以以编程方式将控件添加到其中。
对于现有的Form类:将表单对象导入到项目中(如同,确保您可以编辑它),然后从" Form"中更改它的继承。到" WinFormHost"。您现在可以实例化它并将其添加到WPF窗口,就像使用WinFormHost一样。
编辑:正如我的评论中所述:您将文件复制到WPF项目文件夹中,然后在VS中右键单击项目并选择"添加现有项目"。然后选择您复制的文件。您可能需要添加一些与WinForm相关的.Net库的引用以供编译,但编译错误应该可以帮助您。不要复制任何项目文件(如.csproj)。这些可能会显示为"其他解决方案"。