混合WinForm和WPF程序集有什么问题?

时间:2017-03-30 11:34:20

标签: .net wpf winforms

我正在开发一个WPF应用程序,并且需要在系统托盘中添加一个图标。 WinForms有内置的NotifyIcon类。

我看到一些开发人员全力以赴,不在应用程序中组合程序集。虽然其他人似乎无视或盲目地将它们组合在一起。

从WinForms和WPF混合程序集是不是一个坏主意? 除了WPF独立于DPI之类的显而易见的事情之外,还有什么问题。

谢谢, 迈克尔

1 个答案:

答案 0 :(得分:2)

混合WinForms和WPF引起的唯一真正问题是可维护性。

当尝试将WPF功能添加到非WPF应用程序时,您将需要导入多个WinForms程序集,这些程序集在许多情况下与其WPF对应程序具有非常相似的名称。

通常,使用完全限定名称显式调用任何WinForms类是个好主意,而不是包含广泛的using语句。

这里的帖子(C# trayicon using wpf)是一种完全可以接受的方式来实现您的目标,并且是完成项目的最快捷方式。

如果您只想使用WPF,则会有一个nitify图标组件,它复制WinForms通知图标的功能 - http://www.hardcodet.net/wpf-notifyicon

以这种方式混合方法并非最佳做法,但在现实世界中,当您需要完成工作时,它有时是最有效的解决方案。