Windows Presentation Foundation

Windows Presentation Foundation
Component of Microsoft Windows
Introduced inWindows Vista

Windows Presentation Foundation (WPF; codenamed Avalon) is a user interface subsystem that relies on .NET Framework and .NET Core. It was designed for more complex UI designs than the standard Windows Forms subsystem could offer. Rather than using GDI or GDI+, WPF uses an unmanaged component known as the Media Integration Layer (or MIL) to maintain a tree of visual elements and then render them using Direct3D. The Desktop Window Manager in Windows Vista and above uses the same unmanaged compositor to render the desktop.

The WPF runtime libraries are included in Windows starting from Windows Vista. WPF applications can be created using Visual Studio IDE and Microsoft Blend (formerly Microsoft Expression Blend). The system uses an XML-based language called XAML to define user elements and is extended onto the web by using Microsoft Silverlight.

Development[edit | edit source]

According to comments in the .NET Framework 4.5 reference source, development of Avalon began on or prior to April 13, 2001, before the release of Windows XP, though it's referenced in an internal Microsoft document from January 2001[1] discussing features for "Whistler+1" (later Longhorn) under the heading "Presentation Reform", which stated the goal of Avalon as "I want us to be able to construct rich UI easily simply by editing an XML document". This is likely when Avalon was first being planned, since it predates a formal codename or even the name of XAML.

Avalon was first introduced in PDC 2003 alongside WinFS, as part of the Longhorn technology wave, though it had already been implemented in Longhorn builds as early as 3683. At PDC, Microsoft explained how Avalon is a vector graphics-based app interface engine, how easy it is to program it with WinFX (later known as .NET Framework 3.0) and what it enables for applications (such as transparency and app animations).[2] Even during Longhorn's Omega-13 period, Microsoft continued shipping CTPs of WinFX, including in November 2004, though the CTPs were intended for Windows XP and Server 2003, since Microsoft announced that WinFX was coming to XP/2003.

Later, in PDC 2005, Microsoft announced 2 new tools to be used for developing Avalon apps:

  • Sparkle: Later known as Microsoft Blend/Microsoft Expression Blend
  • Cider: A tool to design WPF and Silverlight apps, later merged with Visual Studio.[3]

December 2005 saw the release of WinFX Extensions for Visual Studio 2005 (Community Technology Preview) and WPF reached RTM on 21 November 2006 as part of .NET Framework 3.0.[4] On the other hand, Sparkle was later renamed to Microsoft Expression Blend on December 2006.[5] On January 2007, the first CTP of Expression Blend was released. Finally, the RTM of Expression Blend arrived on 30 April 2007.

Microsoft announced Windows Presentation Foundation would be open-source and will be released under the MIT license at the Microsoft Connect 2018 keynote. This also enabled WPF to use the open-source .NET Core framework.

References[edit | edit source]