Window Presentation Foundation (WPF) is the foundation for the next generation of Windows applications. WPF represents the best of the control-based Windows world that is tied with the best content-based Web world. Added to this is the graphic performance of DirectX and the deployment capabilities of ClickOnce and you now have a whole new world of applications just waiting to be developed.
While this is still uncharted territory — and no one knows where it will lead in five, ten, or fifteen years down the road — if it is anything like the last 15 years of Windows programming, it will be interesting.
Programming WPF is for developers and assumes you have some experience with some sort of programming environment. Knowing how to program in .NET and C# is pretty much required. Windows Forms, XML, and HTML are also recommended. You will not be taught how to program here. Programming WPF is a hefty 863 pages and is contained in 18 chapters. Don't drop it on your foot!
Chapter 1, "Hello WPF," begins in traditional style with the basics of the WPF technology and a whirlwind tour of the features that will be covered in the following chapters. This way you can see how everything fits together before getting down into the details.
Chapter 2, "Applications and Settings," focuses on the bigger picture. Some of the items covered here are application lifetime, keeping track of open windows, and application states and settings.
Chapter 3, "Layout," discusses the tools that manage the visual layout of your applications and how to use the tools. By handling many of the mundane tasks such as resizing and handling localization, developers can focus their attention on the more critical portions of layout.
Chapter 4, "Input," now takes a look at how to make your application respond to user input. Here the authors take you through some low level input handling as well as the higher-level command system.
Chapter 5, "Controls," describes the controls built into the WPF Framework and how they form the building blocks of a user interface, as well as how you can adjust their properties, and even use templates to replace the whole look of the control.
Chapter 6, "Simple Data Binding," examines how to use WPF's data binding features to connect the user interface to your underlying data. By the use of WPF's data binding engine, you will get more features with less code.