导航宿主
Frame 和 NavigationWindow 是称为导航宿主的类。“导航宿主”是可以作为导航目标并显示内容的类。为了实现这一点,每个导航宿主都使用自己 NavigationService 和日记。导航宿主的基本构造如下图所示。
实质上,这样,NavigationWindow 和 Frame 就可以提供 XBAP 承载在浏览器中时所提供的导航支持。
除了使用 NavigationService 和日记外,导航宿主还实现了 NavigationService 所实现的成员。下图对此进行演示。
这允许您直接对它们进行导航支持编程。如果需要为 Window 中承载的 Frame 提供自定义导航 UI,则可以考虑此方法。 此外,这两种类型都实现了与导航相关的其他成员,包括 BackStack(NavigationWindow.BackStack、Frame.BackStack)和 ForwardStack(NavigationWindow.ForwardStack、Frame.ForwardStack),通过这两个成员可分别枚举后退堆栈和前进堆栈中的日记条目。
如前所述,一个应用程序中可存在多个日记。下图演示可能出现此情况的示例。