2

我有一个完全用 VB.NET 编写的 winForms 应用程序。我必须开始将此应用程序导入 WPF 编写的 C#。一开始,我只想为应用程序的一个模块执行此操作。有什么方法可以将 VB.NET 对象传递给 C# 代码,从 WinForms 应用程序调用 WPF 应用程序,反之亦然?

我应该如何解决这个问题?任何帮助,将不胜感激。

4

2 回答 2

5

没有简单的方法可以将 winform 应用程序迁移到 Wpf。

您应该仔细考虑您为什么要这样做的原因以及它将付出的努力与利润。

话虽如此,您可以首先使用WindowsFormHost通过 wpf 应用程序托管您的 winform,然后您可以通过一次重写一个控件并使用ElementHost将它们托管在 winform 中开始。

由于您希望您的应用程序健壮并使用MVVM我个人认为迁移会花费太多精力,并且使用现有模块(逻辑而不是 ui 模块)重写应用程序会更合理

关于在 c# 中使用 Vb.net 对象,它可以很容易地完成,因为它们都是托管语言并且正在编译为CIL

在 CLI 编程语言的编译过程中,源代码被翻译成 CIL 代码,而不是平台或处理器特定的目标代码。CIL 是一个独立于 CPU 和平台的指令集,可以在任何支持公共语言基础结构的环境中执行,例如 Windows 上的 .NET 运行时

于 2013-05-29T12:30:09.803 回答
0

是的,您可以在 Windows 中调用 wpf 应用程序,反之亦然。为此,您必须在 .config 文件中进行配置

在通过 ElementHost 中,您可以访问控件

于 2013-05-29T12:19:45.793 回答