XAML Browser Applications (XBAPs)
While we're talking about Visual Studio tools for WPF, you may notice that a few icons away from the "Windows Application (WPF)" project template is another one called "XAML Browser Application (WPF)," as shown in Figure 1-8.

Figure 1-8. The WPF XAML Browser Application project template in VS05
WPF itself was created as a unified presentation framework, meant to enable building Windows applications with the best features from existing Windows application practice and existing web application practice. One of the nice things that web applications provide is a single window showing the user one page of content/functionality at a time, allowing for navigation among the pages. For some applications, including Internet Explorer, the shell Explorer, Microsoft Money, and a bunch of Control Panel applets, this is thought to be preferable to the more common Windows application practice of showing more than one window at a time.
To enable more of these kinds of applications, WPF provides the
page, which is the unit of
navigation in an XML Browser Application (XBAP). Instead of setting an
application's StartupUri to a XAML
file that defines a window, we point an XBAP's StartupUri at a XAML file that defines a page
(Example 1-14).
Example 1-14. Starting with a Page instead of a Window
<!-- App.xaml --> <Application x:Class="MyFirstXbapApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ...