Chapter 17: Windows Presentation Foundation


Overview

Windows Presentation Foundation (WPF) - previously known as Avalon - is the next generation for user interfaces, and it’s a key architectural component in the .NET 3.0 Framework. This chapter introduces you to the WPF programming model and discusses key elements you’ll need to know in working with WPF. Rest assured you will be creating applications that leverage the features of WPF in the future. It may not happen until after the release of developer productivity tools supporting it, but eventually it will replace the many and varied user interface models that currently exist.

The libraries that make up WPF were released in conjunction with the release of Windows Vista - not the commercial and much-publicized public release of Vista in January 2007, but rather the initial release of Vista to enterprise partners in November of 2006. The libraries shipped with Vista and coincidentally with Microsoft Office 2007, but what you may or may not notice is the lack of development tools at the same time. Microsoft has managed to follow a software deployment pattern that’s proved successful for many large application environments: first release a library that introduces new features, and then build and release the tools and software that can truly leverage the classes in the new library.

The result of ordering these items is a little like following the ready-aim-fire model (vs. ready-fire-aim). First, Microsoft looked into its market and systems and found a major need. It prepared a design to solve this need and readied a solution. Next, it took aim at making sure the solution (WPF) would stand up, and at stabilizing that solution so it could have a valid target for the need created by the solution. That target is the tools needed to productively leverage these new libraries, and Microsoft can now aim these tools at a fixed target, the released library, as opposed to a moving target.

In the past, as we saw with .NET 2.0 and the release of Visual Studio 2005, having both a tool suite and the libraries it supports changing at the same time caused some difficulties. Anyone can tell you it’s much easier to hit a fixed target than a moving one. Aiming at a moving target for .NET 2.0 resulted in delivery challenges - which in retrospect were probably costly even to a world-class development organization such as Microsoft. However, with .NET 3.0, the libraries are available now, even as Microsoft continues to build not only enhancements to its current development suite - Visual Studio - but also a new suite of development tools, the Expressions suite.

This chapter takes you through several key areas, including the following:

  • What, where, why, how - WPF strategy

  • WPF elements and compatibility

  • Creating a WPF application

  • Introduction to XAML

  • Visual Studio integration

  • Expression suite of tools

Keep in mind that, like all the new capabilities being introduced with .NET 3.0, WPF is still at an early stage, on what is sometimes called the “bleeding edge” of technology. There are fewer examples of working with this technology; and the tools, where they exist, are still in beta. This means that if you try to leverage the technology now, you run the risk of having that decision come back to bite you when you hit a wall.

Additionally, the knowledge required to work with this technology is still more advanced; you’ll see that we work from the command line for several of the examples, and you need to understand some of the underpinnings of Visual Studio 2005 and how it compiles your Visual Basic applications. Eventually, this will all be hidden under the automated processes of Visual Studio, but for now be prepared to delve deeply into this technology. Accordingly, it’s appropriate for you to understand why WPF is going to be such a big deal as we move forward.




Professional VB 2005 with. NET 3. 0
Professional VB 2005 with .NET 3.0 (Programmer to Programmer)
ISBN: 0470124709
EAN: 2147483647
Year: 2004
Pages: 267

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net