Pro WPF - Windows Presentation Foundation in .NET 3.0
- Title: Pro WPF
- Author: Matthew MacDonald
- Level: Intermediate to advanced
- Publisher: Apress
- Pages: 980
- Rating: 4 of 5
When Microsoft introduced .NET framework the Windows Forms engine caught
attraction of many desktop application developers. Especially VB6 developers
found Windows Forms more powerful than their current environment. No doubt
Windows Forms engine was better than VB6 forms development. However, it didn't
solved all the problems. In fact at many places the Windows Forms engine acted
just as a wrapper to the classic controls and objects. The situation is poised
to change dramatically with availability of Windows Presentation Foundation
(WPF) introduced in .NET 3.0. The new infrastructure provided by WPF is way
ahead of Windows Forms engine. It provides many capabilities to your
applications that were never possible (or at least very difficult to achieve)
The Pro WPF from APress is a book that provides solid understanding to WPF.
As on this writing the author and the publisher are working on the next edition
of the book titled Pro WPF in C# 2008 that will targeting Visual Studio 2008.
However, many of the concepts presented in the current edition still hold true.
The book consists of twenty six chapters and covers a broad spectrum of
topics and uses C# as the coding language.
Chapter 1 begins the journey by introducing you with overall features of WPF.
One of the significant features of WPF is XAML, an XML vocabulary to define user
interfaces. Chapter 2 covers this important topic with examples. Topics such as
setting properties, wiring events and compiling the XAML markup are covered in
this chapter. At the core of any WPF application there is an Application object.
Chapter 3 teaches you how to program the Application object, how to handle some
of its events and how to create single instance applications. Though not
directly connected the topic of multithreading is also covered in this chapter.
In traditional Windows development laying out controls on a form was a plain
task. Just drag and drop the controls and place them at desired coordinates.
This way of arranging controls is not necessarily the best way possible. In fact
WPF comes with many ways of laying out the controls. Chapter 4 covers this topic
with coverage on StackPanel, WrapPanel, Dockpanel, Grid layout etc.
WPF opens many possibilities of using otherwise ordinary controls. Content
controls allow you to place controls inside other controls e.g. image inside a
button or textbox inside a button. Chapter 5 covers these techniques.
Chapter 7 and 8 deal with classic controls such as buttons, textboxes and
labeld and windowing abilities of WPF.
When internet was relatively new developers wanted features of desktop
applications on the web. Now that internet is so popular the reverse is also
true. That's why WPF provides a page based applications and navigation. Chapter
9 tells you how to go about developing page driven and browser hosted
applications. Finally Windows applications have something similar to CSS. The
new WPF Styles allow you to apply a look and feel to a group of controls. Styles
is the topic of Chapter 12.
If you like to jazz your applications with graphics then Chapter 13 and 14
are for you. They cover topics such as shapes, transforms, brushes, images, 2-D
drawing and so on. Chapters 20, 21, 22 and 23 continue this topic and discuss
printing, animation, sounds, videos and 3-D drawing.
Ever worked with templated controls of ASP.NET such as DataList? They are so
flexible! Thanks to WPF the same template driven development is now possible in
WPF also. Templates allow you to develop customized looks by assembling other
controls. Chapter 15 covers the topic of templates.
If you develop business applications then chances are than they are data
driven. Data binding is always a favorite topic of many developers. Chapter 16
introduces you with data binding. Though it lacks advance scenarios still it
gives good introduction to the subject. Chapters 17 continues the subject
further and covers data templates, data views and data providers.
Chapter 18 covers traditional navigational elements such as lists, menus,
toolbars and trees.
In classic windows development (say using VB6) displaying large volume of
text was always tedious. There was no native way to represent documents.
Fortunately, WPF allows you to build document centric applications. Chapter 19
covers just that.
Irrespective of what WPF offers sooner or later you are going to need some
more customization. Chapter 24 discusses how to extend existing WPF controls and
build your own.
Chapter 25 and 26 discuss integration with Windows Forms application and
In summary if you are looking to switch from Windows Forms based development
to WPF and need a sound understanding of the topic then this book is for you.