API para el hospedaje nativo de WPF en explorador
Un servidor de documentos activos (también denominado DocObject) registrado desde el host de WPF puede facilitar el hospedaje de aplicaciones WPF en los exploradores web. Internet Explorer puede activarse e integrarse directamente con un documento activo. Para el hospedaje de XBAP y documentos XAML dinámico en exploradores Mozilla, WPF proporciona un complemento NPAPI, que ofrece un entorno de hospedaje para el servidor de documentos activos de WPF parecido al de Internet Explorer. Sin embargo, manera práctica más fácil de hospedar XBAP y documentos XAML documenta en otros exploradores y aplicaciones independientes es mediante el control de explorador web de Internet Explorer. El control de explorador web proporciona el entorno de hospedaje complejo del servidor de documentos activos y, sin embargo, habilita su propio host para personalizar y extender ese entorno y comunicarse directamente con el objeto de documento activo actual.
El servidor de documentos activos de WPF implementa varias interfaces de hospedaje comunes, como IOleObject, IOleDocument, IOleInPlaceActiveObject, IPersistMoniker e IOleCommandTarget. Cuándo se hospedan en el control de explorador web, estas interfaces pueden ser consultas del objeto devueltas por la propiedad IWebBrowser2::Document.
IOleCommandTarget
La implementación de IOleCommandTarget en el servidor de documentos activos de WPF admite numerosos comandos de navegación y específicos del explorador pertenecientes al grupo de comandos estándar OLE (con un GUID de grupo de comandos NULL). Además, reconoce un grupo de comandos personalizado denominado CGID_PresentationHost. En la actualidad, solo hay un comando definido dentro de este grupo.
DEFINE_GUID(CGID_PresentationHost, 0xd0288c55, 0xd6, 0x4f5e, 0xa8, 0x51, 0x79, 0xde, 0xc5, 0x1b, 0x10, 0xec);
enum PresentationHostCommands {
PHCMDID_TABINTO = 1
};
PHCMDID_TABINTO indica a PresentationHost que cambie el foco al primer o último elemento enfocable de su contenido, dependiendo del estado de la tecla Mayús.