The Flavors of WPF Applications

Like Windows Forms, WPF can be used to build traditional desktop applications. Some possibilities include
media viewers, thick client front ends to interact with remote data sources, and word processors. At
minimum, this flavor of WPF application will make use of the
Window and Application types, in addition to
various UI elements (status bars, menu systems, dialogs, and so on). You will learn about these types in this
chapter.

Like other desktop applications, WPF desktop apps can be deployed via setup programs or via ClickOnce
deployment. Of course, the target machine must have the .NET 3.0 / 3.5 runtime installed to support WPF
applications.

WPF desktop apps can make use of a page-based system, which allows an application to adopt a web-like
navigational structure. Page navigation apps maintain ‘Next’ and ‘Previous’ buttons, a history list, and the
ability to share data between pages. This type of WPF app makes use of various
Page objects hosted within
a
NavigationWindow.





















WPF can also be used to build a new variety of ‘smart clients’ where the app is embedded into a hosting
browser. This flavor of WPF is termed an
XBAP (XAML Browser Application). Like navigationally based
apps, XBAPs consist of a number of
Page objects. They are deployed from a remote web server (like a
ClickOnce app) and integrate into the navigational structure of the host. With the release of .NET 3.5,
XBAPs may be hosted within Internet Explorer or Firefox. Under WPF 3.0, XBAPs were limited to IE. You
will examine page-based applications and XBAPs later in this class.




















Silverlight is a web-centric subset of CLR / WPF / XAML functionality. Silverlight makes it possible to build
highly interactive web plug-ins. Consider Silverlight to be Microsoft’s answer to Adobe Flash. Silverlight 2.0
allows developers to use C# or Visual Basic to build object-oriented plug-ins. Silverlight applications can run
on multiple operating systems (currently Windows and Mac OS X and possibly other OSs in the future).
Silverlight can be hosted by multiple browsers (IE, Safari, Opera, and Firefox).

This course does not directly cover Silverlight. The good news is that Silverlight 2.0 apps are essentially
trimmed down WPF apps. Thus, if you understand the WPF programming model, you will have no problem
building Silverlight programs. Consult
http://silverlight.net/ for more details.



























During the remainder of this class, you will be exposed to a good number of WPF technologies and
application types. This will provide you with a solid foundation on which to build. Consult the .NET
Framework SDK documentation for additional information.

Simply open the ‘Windows Presentation Foundation’ section of the .NET Framework documentation. You
will find many sample projects, white papers, and code examples within the supplied WPF documentation.
Also, the
Controls section documents the full functionality of each WPF control (properties, methods,
events). Do yourself a favor and be sure to consult the help system during this course, and once you are using
WPF back in the workplace.
WPF Flavors
Table of Contents
Copyright (c) 2008.  Intertech, Inc. All Rights Reserved.  This information is to be used exclusively as an
online learning aid.  Any attempts to copy, reproduce, or use for training is strictly prohibited.
Courseware
Training Resources
Tutorials
Services