Microsoft's Windows Presentation Foundation is the software development kit for creating UI elements for the Vista operating system. WPF garners attention for so-called "eye candy" like 3D graphics and video, but features like improved data binding and custom controls also stand to enhance the user experience.
While WPF runtime elements are available now, as they are for the rest of the .NET Framework 3.0, the product's design time elements, known by the code name Cider, will not be ready until the next version of Visual Studio is released. That means now is a good time to brush up on the technology and see if it is right for you.
At the .NET 3.0 Roadshow in October, Brian Noyes offered an introduction to Windows Presentation Foundation, which SearchVB.com wrote up in Building rich applications with WPF. The product's strength seems to be client applications, which can have the Forward and Back buttons end users are used to seeing in Web applications but with the added security of sitting on the client. Noyes also offers a few details about XAML, the Extensible Application Markup Language, which separates markup from the more behavioral aspects of code.
The MSDN article Build a Great User Experience with Windows Presentation Foundation also covers the basics of WPF. Here Michael Weinhardt describes menu-driven and hyperlink-driven navigation. The former is typically associated with client applications and the latter with Web apps, but Weinhardt notes that WPF's application model "lets you mix and match elements of both."
Along these same lines, David Chappell's Introducing Windows Presentation Foundation, also on MSDN, goes into greater depth on the types of graphics supported by WPF, offering instructions and sample code for using animation, graphics, video and audio. Chappell also talks about how WPF works alongside other Microsoft technology, such as Windows Forms, Direct3D and ASP.NET AJAX, previously known as Atlas.
Meanwhile, developers familiar with Windows Forms will want to check out JFo's WPF for those who know Windows Forms.
JFo is Jessica, a developer on Microsoft's Windows Forms team, and she and colleague Mark Boulter have penned a series of articles that can be read individually or downloaded in a single document. Articles run the gamut from an introduction to XAML and the behavior of controls in WPF to multithreaded applications and making WinForms and WPF interoperable.
Finally, for those on the lookout for tools and controls, Michael Swanson's Windows Presentation Foundation Tools and Controls provides plenty of links. Along with Microsoft's Expression toolset for Web designers, Swanson's list includes a variety of XAML converters and exporters. The latter tools will take new or existing images in formats such as Adobe Illustrator, 3ds and Lightwave and create XAML code for them.
As always, if you have resources you would like to share, send them along and they will be added to the list.
Since WPF remains in its infancy, it's safe to say that more tutorials and tools are on their way,
both from Microsoft and from third-party developers.
This was first published in November 2006