XAML Browser Application

XAML Browser Application，最开始叫xapp，后来在Sept CTP中叫wba，是美国微软公司所提出的新技术，以XAML作为用户界面（UI）之描述，寄宿（hosted）在浏览器（IE web browser sandbox）中运行的程序。XBAP可以取代ActiveX、Java Applet、Flash等功能，有人称之为下一代的ActiveX（next-generation ActiveX）。XAML Browser Application的扩展名是.xbap。

规划

XAML与HTML一样是flow layout，Grid类似HTML中的Table，使整个页面的显示方式变成网格式区域。微软还推荐使用StackPanel，DockPanel等继承自Panel的规划方式，Panel在使用上的类似HTML的{{<}}DIV{{>}}{{<}}\DIV{{>}}。

structured navigation

structured navigation可用于处理页面与页面之间的数据共享。WPF支持PageFunction这样的页面标签。

<PageFunction
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="https://web.archive.org/web/20101113200850/http://schemas.microsoft.com/winfx/2006/xaml/"
   xmlns:sys="clr-namespace:System;assembly=mscorlib" 
   x:Class="StructuredNavigationSample.TestPageFunction"
   x:TypeArguments="sys:String"
   Title="Test for Page Function" WindowWidth="250" WindowHeight="150">
   ......
</PageFuntion>

示例

将3D动画置入iframe：

<iframe height="130"
 width="130"
 src="3d_animation.xaml" />
将XBAP置入iframe：

<html>
<head>
<body>
<iframe name="Iframe1" src="%fullpathtoyourgadgetdirectory%\TestBrowserApp.xbap" ></iframe>
</body>
</html>

差异

WinFX Windows Application和WinFX Web Browser Application有些微的差别，在.xaml文件中，Browser Application中，默认起始页的根元素（root element）为Page；Windows Application中，默认起始页的根元素为Window。另外，Window class无法在Browser Application中使用，因为IE浏览器中的WPF程序是在部分信任的沙箱（sandbox）内运行。

<Page x:Class="XAMLBrowserApplication1.Page1"
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="https://web.archive.org/web/20101113200850/http://schemas.microsoft.com/winfx/2006/xaml/"
   WindowTitle="Hello world" WindowWidth="560" WindowHeight="400"
   Title="Page1"
   >
 <Grid>
 </Grid>
</Page>