APIs de suporte à hospedagem de navegador do WPF nativa

A hospedagem de aplicativos WPF em navegadores da Web é facilitada por um servidor Active Document (também conhecido como DocObject) registrado fora do host WPF. O Internet Explorer pode ativar e integrar diretamente com um documento ativo. Para hospedagem de XBAPs e documentos XAML soltos em navegadores Mozilla, o WPF fornece um plug-in NPAPI, que fornece um ambiente de hospedagem semelhante ao servidor WPF Active Document como o Internet Explorer. Entretanto, a maneira mais fácil de hospedar documentos XBAPs e XAML em outros navegadores e aplicativos independentes é através do controle do navegador da Web do Internet Explorer. O controle do Navegador da Web fornece o complexo ambiente de hospedagem do servidor de documento ativo, mas permite que seu próprio host personalize e amplie esse ambiente e se comunique diretamente com o servidor de documento ativo atual.

Aviso

XBAPs exigem navegadores herdados para operar, como Internet Explorer e Firefox. Essas versões mais antigas do navegador geralmente não são suportadas no Windows 10 e no Windows 11. Os navegadores modernos não suportam mais a tecnologia necessária para aplicativos XBAP devido a riscos de segurança. Plugins que habilitam XBAPs não são mais suportados.

O servidor WPF Active Document implementa várias interfaces de hospedagem comuns, incluindo IOleObject, IOleDocument, IOleInPlaceActiveObject, IPersistMoniker, IOleCommandTarget. Quando hospedada no controle do navegador da Web, essas interfaces podem ser consultas do objeto retornadas pela propriedade IWebBrowser2::Document.

IOleCommandTarget

A implementação do IOleCommandTarget do servidor de documento ativo do WPF dá suporte a vários comandos relacionados à navegação e ao navegador do grupo de comandos OLE padrão (com um GUID de grupo de comandos nulo). Além disso, reconhece um grupo de comando personalizado chamado CGID_PresentationHost. Atualmente, só há um comando definido neste grupo.

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

PHCMDID_TABINTO instrui o PresentationHost a mudar o foco para o primeiro ou último elemento que pode ser focado em seu conteúdo, dependendo do estado da tecla Shift.

Nesta seção

IEnumRAWINPUTDEVICE
IWpfHostSupport