本机 WPF 浏览器托管支持 API

Web 浏览器中的 WPF 应用程序的托管由从 WPF 主机注册的活动文档服务器(也称为 DocObject)促进。 Internet Explorer 可以直接激活并与活动文档集成。 为了在 Mozilla 浏览器中托管 XBAP 和松散的 XAML 文档,WPF 提供了 NPAPI 插件,它提供与 WPF Active Document 服务器类似的托管环境,就像 Internet Explorer 一样。 但是,在其他浏览器和独立应用程序中托管 XBAP 和 XAML 文档的最简单实用方法是通过 Internet Explorer Web 浏览器控件。 Web 浏览器控件提供了复杂的 Active Document 服务器托管环境,但它使其自身的主机能够自定义和扩展该环境,并直接与当前 Active Document 对象通信。

警告

XBAP 要求旧版浏览器运行,例如 Internet Explorer 和旧版 Firefox。 这些较旧的浏览器通常在 Windows 10 和 Windows 11 上不受支持。 由于安全风险,新式浏览器不再支持 XBAP 应用所需的技术。 不再支持启用 XBAP 的插件。 有关详细信息,请参阅 有关 WPF 浏览器托管应用程序(XBAP)的常见问题解答。

WPF Active Document 服务器实现多个常见的托管接口,包括 IOleObjectIOleDocumentIOleInPlaceActiveObjectIPersistMonikerIOleCommandTarget。 在 Web 浏览器控件中托管时,可以从 IWebBrowser2::Document 属性返回的对象中查询这些接口。

IOleCommandTarget

WPF Active Document 服务器在其 IOleCommandTarget 的实现中支持标准 OLE 命令组(命令组 GUID 为 null)的众多与导航相关以及特定于浏览器的命令。 此外,它还识别名为CGID_PresentationHost的自定义命令组。 目前,此组中只定义了一个命令。

DEFINE_GUID(CGID_PresentationHost, 0xd0288c55, 0xd6, 0x4f5e, 0xa8, 0x51, 0x79, 0xde, 0xc5, 0x1b, 0x10, 0xec);
enum PresentationHostCommands {
   PHCMDID_TABINTO = 1
};

PHCMDID_TABINTO指示 PresentationHost 根据其内容中的第一个或最后一个可聚焦元素切换焦点,具体取决于 Shift 键的状态。

本节中

IEnumRAWINPUTDEVICEIWpfHostSupport