Windows Presentation Foundation

来自 WinStory Wiki
跳转到导航 跳转到搜索
Windows Presentation Foundation
Microsoft Windows 的组件
推出于Windows Vista

Windows Presentation Foundation(WPF;代号为 Avalon)是依赖于 .NET Framework 和 .NET Core 的用户界面子系统。它专为比标准 Windows 窗体子系统所能提供的更复杂的 UI 设计而设计。WPF 不使用 GDI 或 GDI+,而是使用称为媒体集成层(或 MIL)的非托管组件来维护视觉元素树,然后使用 Direct3D 呈现它们。Windows Vista 及更高版本中的桌面窗口管理器使用相同的非托管合成器来渲染桌面。

Windows Vista 开始,WPF 运行时库包含在 Windows 中。可以使用 Visual Studio IDE 和 Microsoft Blend(以前称为 Microsoft Expression Blend)创建 WPF 应用程序。此系统使用一种称为 XAML 的基于 XML 的语言来定义用户元素,并通过使用 Microsoft Silverlight 扩展到 Web 上。

开发历程

根据 .NET Framework 4.5 参考源中的注释,Avalon 的开发始于 2001 年 4 月 13 日或之前,即 Windows XP 发布之前,尽管在 2001 年 1 月的 Microsoft 内部文档中引用了它[1],此文档在标题为“表示改革”下讨论了“Whistler 1”(后来的 Longhorn)的功能,此文档将 Avalon 的目标描述为“I want us to be able to construct rich UI easily simply by editing an XML document(我希望我们能够通过编辑 XML 文档轻松构建丰富的 UI)”。这可能是 Avalon 最初计划的时候,因为它早于正式的代号,甚至早于 XAML 的名称。

Avalon 首次在 PDC 2003 中与 WinFS 一起推出,作为 Longhorn 技术浪潮的一部分,尽管它早在 3683 就已经在 Longhorn 版本中实现。在 PDC 上,Microsoft 解释了 Avalon 如何成为基于矢量图形的应用程序界面引擎,使用 WinFX(后来称为 .NET Framework 3.0)对其进行编程是多么容易,以及它为应用程序(例如透明度和应用程序动画)支持什么。[2]即使在 Longhorn 的 Omega-13 时期,Microsoft 也继续发布 WinFX 的 CTP,包括在 2004 年 11 月,尽管这些 CTP 是为 Windows XP 和 Server 2003 准备的,因为 Microsoft 宣布 WinFX 将出现在 XP/2003 中。

后来,在 PDC 2005 中,Microsoft 宣布了 2 个用于开发 Avalon 应用程序的新工具:

  • Sparkle:后来称为 Microsoft Blend/Microsoft Expression Blend
  • Cider:用于设计 WPF 和 Silverlight 应用程序的工具,后来与 Visual Studio 合并。[3]

2005 年 12 月,Visual Studio 2005 的 WinFX 扩展((Community Technology Preview,社区技术预览版)和 WPF 作为 .NET Framework 3.0 的一部分于 2006 年 11 月 21 日达到 RTM。[4]另一方面,Sparkle 后来在 2006 年 12 月更名为 Microsoft Expression Blend。[5]2007 年 1 月,Expression Blend 的第一个 CTP 发布。最后,Expression Blend 的 RTM 于 2007 年 4 月 30 日发布。

Microsoft 宣布 Windows Presentation Foundation 将是开源的,并在 Microsoft Connect 2018 主题演讲中根据 MIT 许可证发布。这也使 WPF 能够使用开源 .NET Core 框架。

引用资料