0

这是一个简单的问题,但我似乎无法正确表述。

WPF 和 WinForms 如何在 .NET 框架中“定位”?

我的意思是,WPF 是 .NET 框架的子系统,而 WinForms 是图形 API,但谁能向我解释它们到底有什么不同?我知道 API 的含义和用途,但 WPF 作为子系统让我有点困惑。是否有视觉帮助可以澄清这一点。

我也明白 WinForms 和 WPF 都是创建图形应用程序的方法。

我希望我是有道理的...

我的信息来自: http ://en.wikipedia.org/wiki/Windows_Presentation_Foundation

4

1 回答 1

1

我不确定你从哪里得到这个“WPF 是 .NET 框架的子系统”,但起初我会说不。WPF 和 Windows 窗体都是使用托管语言构建图形应用程序的框架。虽然 winforms 或多或少是对 winapi 的封装,但通过事件等 .net 功能进行了增强;WPF 只是 win api 的包装器,直到到达窗口,从那时起,一切都使用加速硬件完成,这提供了更大的灵活性,例如使用矢量图形,内置对动画的支持。使用这两种 api 的方式也完全不同,例如在 WPF 中使用 XAML(不是必需的,但更好)来表达 ui 的外观、控件的组成方式等。同样在 WPF 中,控件的设计不是固定并且可以完全改变。这是通过很好地将逻辑与外观分开来完成的。现在,仅查看 WPF 带来的一些基本工具(例如依赖项属性)时,我就可以理解 .net 部分的子系统,但是我再次认为,如果不将 WPF 也用作 api,您不会那么多地使用 WPF用于创建图形应用程序。也就是说,当然可以将两个 Windows 窗体和 WPF 相互混合。

tl:dr:两者都是用于创建丰富的图形应用程序的 api,但具有完全不同的设计理念和不同的实现目标的方法。

于 2012-05-29T08:25:29.910 回答