我正在开发一个WPF应用程序,并且需要在系统托盘中添加一个图标。 WinForms有内置的NotifyIcon类。
我看到一些开发人员全力以赴,不在应用程序中组合程序集。虽然其他人似乎无视或盲目地将它们组合在一起。
从WinForms和WPF混合程序集是不是一个坏主意? 除了WPF独立于DPI之类的显而易见的事情之外,还有什么问题。
谢谢, 迈克尔
答案 0 :(得分:2)
混合WinForms和WPF引起的唯一真正问题是可维护性。
当尝试将WPF功能添加到非WPF应用程序时,您将需要导入多个WinForms程序集,这些程序集在许多情况下与其WPF对应程序具有非常相似的名称。
通常,使用完全限定名称显式调用任何WinForms类是个好主意,而不是包含广泛的using
语句。
这里的帖子(C# trayicon using wpf)是一种完全可以接受的方式来实现您的目标,并且是完成项目的最快捷方式。
如果您只想使用WPF,则会有一个nitify图标组件,它复制WinForms通知图标的功能 - http://www.hardcodet.net/wpf-notifyicon
以这种方式混合方法并非最佳做法,但在现实世界中,当您需要完成工作时,它有时是最有效的解决方案。