Skip to Main Content
Programming WPF, 2nd Edition
book

Programming WPF, 2nd Edition

by Chris Sells, Ian Griffiths
August 2007
Intermediate to advanced content levelIntermediate to advanced
864 pages
25h 52m
English
O'Reilly Media, Inc.
Content preview from Programming WPF, 2nd Edition

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> ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Programming C#, 4th Edition

Programming C#, 4th Edition

Jesse Liberty
Programming C# 10

Programming C# 10

Ian Griffiths

Publisher Resources

ISBN: 9780596510374Supplemental ContentErrata Page