WPF与Windows Forms的比较

4

我对WPF和Windows Forms非常困惑。相比Windows Forms,WPF有何用途?WPF又有何用途?

4个回答

7

WPF是一种开发Windows(和浏览器)应用程序的新平台。 WPF并不一定要取代Windows Forms。使用WPF,您可以更轻松地将3D,视频和动画添加到应用程序中。由于它是基于XAML的,因此很容易绑定到XML数据,例如来自Web服务的数据,并将其动态加载为内容。

在我看来,WPF还更好地将UI编程与业务逻辑分离。使用像Expression Blend这样的工具,更容易让高级WPF设计师构建您的UI,而您作为程序员则更专注于后端。这样,就更像是有一个HTML和CSS前端人员为您的站点创建一个漂亮的设计,而您则专注于后端。

目前Windows Forms拥有更多的第三方控件可用,如果您真的没有使用WPF带来的功能需求,那么您肯定不需要切换到WPF。


1
好的回答。此外,WPF仅适用于.NET 3.0及以上版本,因此不支持Windows 2000及更早版本的系统,而WinForms则可以支持。 - John

4

你看过 WPF或WinForms,明智选择 吗?

简而言之,WPF是微软Windows的下一代UI平台。它从以前的技术中汲取了很多经验教训,但风险在于工具和第三方组件的不成熟。


0

我喜欢WPF的另一个原因是核心图形处理从GDI+转移到了DirectX。这使得在处理3D或重型网格/时间序列绘图器时获得了巨大的性能优势,因为它试图消耗您的GPU(图形处理器)资源而不是CPU。


0

一个好处是关注点分离。你可以构建应用程序而不必过多担心 UI 方面的事情,如布局、颜色、字体等。然后你可以将它传递给设计师,他们可以使其看起来很棒(希望如此),而无需理解代码(使用 Blend 或其他工具)。

从纯粹实用的角度来看,我选择使用哪个框架通常取决于我需要使用哪些第三方控件(尽管你可以在 WinForms 应用程序中使用 WPF 控件,例如 - 使用托管控件)。


1
在转向WPF之前,人们可能需要认真考虑所需第三方控件的成熟度水平。我刚刚浪费了2周时间来琢磨3个WPF网格及其各自的限制。其中一些控件尚不太成熟,可能会成为项目的障碍。 - Mark Lindell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接