c# - 从 WinForms 中打开 WPF 窗口并将表单应用程序与 WPF 应用程序链接

标签 c# wpf winforms hyperlink

我正在使用 Visual studio 2012,我正在使用名为 Form1 的 Win Form 应用程序,并添加一个名为“wpfWin”的 wpf 窗口新项目。单击 Form1 中的按钮后,我想打开 wpfWin,它打开 - 分隔窗口 -。

我试过了weblogs.asp但我还没有找到“WPF 自定义控件库”& 一旦我跳过它就会出现错误。还有别的办法吗?!

此外,我如何链接两个应用程序,一个在 WinForm 中,另一个在 Wpf 中?!

最佳答案

Open WPF window in WindowsForm APP所以您对上述链接教程和问题有疑问? “WPF 自定义控件库”是您要在 Win-Forms 应用程序中使用的 WPF 窗口。

只是一个简短的解释,因为它在问题和教程中解释了几次。您需要打开当前正在处理的 win-forms 项目。然后您需要转到解决方案资源管理器并右键单击解决方案,而不是项目,转到“添加”并选择“新建项目”。

在添加新项目中,转到 Visual C#,然后转到左侧树中的 Windows。它们应该位于已安装的子菜单中。在主要部分中,您应该看到“WPF 自定义控件库”,单击它,然后将其命名为您想要的名称,然后单击“确定”。

在项目中添加一个 Window(WPF) 控件,这个窗口就是你要打开的 WPF 窗口。

然后从 WinForm 中,像这样打开它:

var wpfwindow = new WPFWindow.Window1();
ElementHost.EnableModelessKeyboardInterop(wpfwindow);
wpfwindow.Show();

但是请确保您有以下 using 语句:

using System; //Given 
using System.Windows.Forms; //Given
using System.Windows.Forms.Integration; //Not so Given.

您还需要添加一些引用才能使其正常工作,这是您需要添加到 win-forms 的所有内容的列表:

 PresentationCore
 PresentationFramework
 WindowsFormsIntegration
 WindowsBase
 System.Xaml
 YourWpfControlProjectName

您应该使用 VS 中的引用选择器将这些添加到您的 Win-forms 项目中,方法是右键单击解决方案资源管理器中的引用文件夹并添加新引用。所有引用都位于“框架”选项卡中,没有位于“解决方案”选项卡中的 WPF 控件。

关于c# - 从 WinForms 中打开 WPF 窗口并将表单应用程序与 WPF 应用程序链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16511382/

相关文章:

c# - 如何使 Settings.settings 数据持久化

c# - 如何在 ListView 控件 header 上复制 Windows 资源管理器列筛选

c# - 泛型的二元比较运算符

c# - 从引用的程序集中读取 .resx 文件名

c# - Swagger 无法在自托管的 ServiceStack 服务上工作

c# - 如何停止动画WPF?

c# - 测试我是否可以迭代字典并将键和值写入控制台

.net - 我可以使用枚举作为 ConverterParameter 吗?

c# - 如何在 WPF 中使用不同的坐标系? (仅限缩放)

c# - InvalidOperationException - 对象当前正在别处使用 - 红十字