【问题标题】:How to Launch WPF App from a Winforms App如何从 Winforms 应用程序启动 WPF 应用程序
【发布时间】:2019-12-19 04:08:59
【问题描述】:

如何将 WPF 解决方案引入 WinForms 解决方案,并在 WinForms 窗口内启动 WPF 应用程序?

澄清一下,我有一个现有的 WinForms 解决方案。我想在这个解决方案中引入一个单独的 WPF 解决方案(它是一个 Caliburn Micro 解决方案,FWIW),并在 WinForms 解决方案的窗口中启动它。我不想运行编译好的.exe,我想把解决方案带入winforms解决方案。能做到吗?

【问题讨论】:

  • 您是说想在同一个解决方案中将一个 winforms 项目与一个 wpf 项目结合起来,然后在一个 winforms 表单中托管一个 wpf 控件吗?如果是这样,这是一个链接:docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/…
  • 您是要从 WinForms 应用程序启动 WPF,还是要在 WinForms 应用程序中嵌入 WPF 控件?
  • 如果你只是想“运行” wpf 应用程序,你应该使用“进程”来完成它,这很容易。至于引用项目 - 您只需要引用另一个项目,就好像您引用解决方案中的库一样。编译输出后,它们的两个“exe”文件都会出现在输出目录中。
  • 我已经进一步澄清了这个问题。

标签: c# .net wpf winforms


【解决方案1】:

有一篇文章你可以在这里阅读:

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

基本上它相当于将您的 WPF 应用程序创建为 WPF 用户控件库,它将构建到一个 DLL 中,然后您可以在 Windows 窗体项目中引用该 DLL。

如果您使用 MVVM 设计模式,您可能需要重构一些 WPF 应用程序逻辑,以便将其初始化为 UserControl 的一部分,例如 ViewModels。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    相关资源
    最近更新 更多