XBAPs
The final navigation host that WPF provides is an internal class
called RootBrowserWindow
. Like
NavigationWindow
and Frame
, the RootBrowserWindow
knows how to host content
for navigation. However, RootBrowserWindow
does it by integrating with
versions 6 and later of Internet Explorer[80] in order to implement XAML Browser Applications (XBAPs).
An XBAP is a WPF application with these
characteristics:
Hosted in IE6+ like loose XAML pages (although they're compiled), whether at the top level or inside an IFRAME. In fact, you're meant to be able to click back and forth between HTML and XBAPs without knowing that you're doing so (except that the XBAP pages are "better").
No custom top-level windows. You must use the
RootBrowserWindow
provided and no other custom top-level windows (e.g., custom dialogs).Runs in partial trust that can't be elevated by users like normal ClickOnce applications.
Can be deployed like ClickOnce "online-only" applications. The standard ClickOnce "offline/online" deployment is available if your main window is a
NavigationWindow
, but it won't be hosted in Internet Explorer.
You can get a new XBAP application skeleton in Visual Studio 2005
by choosing the "XAML Browser Application (WPF)" project template. It
will give you a standard navigation application without any window
definition, just a page. The chief difference between an XBAP and a
standard navigation-based application is the HostInBrowser
property set in the project
file:
<Project ...> <PropertyGroup> ...
Get Programming WPF, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.