c# - 完全迁移到 WPF 项目的好处和麻烦

标签 c# .net wpf winforms

我有一个项目,最初是作为 WinForms 应用程序开始的,因为那是我当时熟悉的格式。从那以后,我开始涉足 WPF,并将一些 WPF 用户控件(主要是网格)引入到我的项目中,并且非常喜欢它们。 我的问题是,将我的解决方案的 UI 项目更改为纯 WPF 项目并摆脱任何 WinForms 是否有任何真正的优势? 我完全知道每种格式都适合特定的环境,如果不了解更多细节,您将无法给出明确的答案,但我想知道人们的意见,如果有人做过类似的事情来转换现有的WinForms App 到 WPF 前端,以及他们在这样做时所做的任何观察。

谢谢

最佳答案

WPF 中新功能的基础是基于 DirectX 的强大新基础结构,DirectX 是尖端计算机游戏中常用的硬件加速图形 API。这意味着您可以使用丰富的图形效果,而不会像使用 Windows 窗体那样产生性能开销。事实上,您甚至可以获得高级功能,例如支持视频文件和 3-D 内容。使用这些功能(和一个好的设计工具),可以创建令人惊叹的用户界面和视觉效果,而这在 Windows 窗体中几乎是不可能的。

WPF 增强了直接吸引业务开发人员的功能,包括大大改进的数据绑定(bind)模型、一组用于打印内容和管理打印队列的新类,以及用于显示大量格式化文本的文档功能。

但是,如果您已经完成了大量创建 Windows 窗体应用程序的工作,则无需将其全部迁移到 WPF 即可访问动画等新功能。相反,您可以将 WPF 内容添加到现有的 Windows 窗体应用程序,或者您可以创建一个包含旧 Windows 窗体内容的 WPF 应用程序。

引用:C# 2008 中的 Pro WPF:Windows Presentation Foundation with .NET 3.5,第二版

关于c# - 完全迁移到 WPF 项目的好处和麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2735644/

相关文章:

c# - 通过算法从用户 ID 生成唯一的随机好友代码

c# - Long DateTime 的 Linq to Sql 问题

c# - 具有不同命名空间的 Caliburn Micro ViewLocator

c# - 如何在 Sublime Text 2 中检查 C#

c# - app.config 没有保存值

c# - Azure存储错误: "An attempt was made to access a socket in a way forbidden by its access permissions."

WPF 用百分比将 TextBlock 绑定(bind)到 ProgressBar

wpf - 如何在像谷歌按钮这样的 wpf 按钮周围创建阴影效果

c# - 从数据库获取标志并在身份验证中设置

c# - 锁定属性