Windows® Presentation Foundation (formerly code named "Avalon") is Microsoft's® unified presentation subsystem for Windows and is exposed through WinFX®, Windows Vista's™ managed-code programming model that extends the Microsoft .NET Framework. Windows Presentation Foundation (WPF) consists of a display engine that takes full advantage of modern graphics hardware and an extensible set of managed classes that development teams can use to create rich, visually stunning applications. WPF also introduces Extensible Application Markup Language (XAML), which enables developers and designers to use an XML-based model to declaratively specify the desired user interface (UI) behavior.

More and more people are interested in exploiting WPF application development as Windows Vista get closer to their final release date. This post will try to be one page stop for up-to-date information related with WPF application development. Links, blogs, news, source examples and demos will be hosted and you are more than welcome to point me out information that I have missed adding your comments to this post so I can incorporate them.

First of all WPF is not only about programming. Since the most attractive part of this framework is the ability to design amazing user interfaces, Designers have a significant role, too. And the most important thing : For first time, they can cooperate seamlessly with programmers exchanging source files in common tools !! So some of this information will be related with Designers, while the rest will interest mostly Programmers.

You can start implementing WPF applications using various OS environment setups. Also since WPF is a technology under construction, there are more than one active versions. Tom Archer's blog summarizes all possible combinations. It's important to start with this, in order to get a proper development environment in Windows Vista or Windows XP SP2.

If you are a Designer, you are going to need at least Windows XP SP2 or Windows Vsta with .NET Framework 3.0 and one or more design tools like Expression Interaction Designer. This tool will allow you to design your user interfaces and save them as XAML files ready to be included in your WPF projects. Since a lot of functionality can be accomplished using just XAML, you can even test your applications inside this environment. Expression Graphics Designer is another XAML powered application, allowing you to create images and export them as XAML. For more complex projects there are 3rd party design tools, like ZAM 3D which allows you to create easily 3D interface elements for WPF applications. It also acts as a 3ds to XAML and dxf to XAML converter. Finally more and more commercial products become XAML enabled, allowing you to save your designs/drawings in XAML format.

If you are a Programmer, things are even more simple. You're certainly going to need Windows XP SP2 or Windows Vista with .NET Framework 3.0, as well as Visual Studio 2005 and Orcas tools, a VS2005 extention which will allow you to implement WPF applications. Orcas tools have an internal users interfaces XAML compatible designer, but you can certainly use Expression Interaction Designer, too.

Resources

Blogs

Examples (You must have installed NET 3.0 framework to see them)