Ler em inglês

Compartilhar via


APIs de suporte de hospedagem do navegador WPF nativo

A hospedagem de aplicativos WPF em navegadores da Web é facilitada por um servidor de Documento Ativo (também conhecido como DocObject) registrado no Host do WPF. O Internet Explorer pode ativar e integrar-se diretamente a um Documento Ativo. Para hospedar XBAPs e documentos XAML soltos em navegadores Mozilla, o WPF fornece um plug-in NPAPI, que fornece um ambiente de hospedagem semelhante ao servidor de Documentos Ativos do WPF como o Internet Explorer. No entanto, a maneira prática mais fácil de hospedar documentos XBAPs e XAML em outros navegadores e aplicativos autônomos é por meio do controle Navegador da Web do Internet Explorer. O Controle Navegador da Web fornece o complexo ambiente de hospedagem do Servidor de Documentos Ativos, mas permite que seu próprio host personalize e estenda esse ambiente e se comunique diretamente com o objeto do Documento Ativo atual.

Aviso

Os XBAPs exigem que navegadores herdados operem, como o Internet Explorer e versões antigas do Firefox. Esses navegadores mais antigos geralmente não têm suporte no Windows 10 e no Windows 11. Os navegadores modernos não dão mais suporte à tecnologia necessária para aplicativos XBAP devido a riscos de segurança. Plug-ins que habilitam XBAPs não têm mais suporte. Para obter mais informações, consulte Perguntas frequentes sobre oXBAP (aplicativos hospedados por navegador) do WPF.

O servidor do Documento Ativo do WPF implementa várias interfaces de hospedagem comuns, incluindo IOleObject , IOleDocument , IOleInPlaceActiveObject , IPersistMoniker , IOleCommandTarget . Quando hospedadas no controle Navegador da Web, essas interfaces podem ser consultadas do objeto retornado pela propriedade IWebBrowser2::Document.

IOleCommandTarget

A implementação do servidor de Documentos Ativos do WPF IOleCommandTarget dá suporte a vários comandos relacionados à navegação e específicos do navegador do grupo de comandos OLE padrão (com um GUID de grupo de comandos nulo). Além disso, ele reconhece um grupo de comandos personalizado chamado CGID_PresentationHost. Atualmente, há apenas um comando definido dentro desse grupo.

C++
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 alternar o foco para o primeiro ou último elemento focalizável em seu conteúdo, dependendo do estado da chave Shift.

Nesta seção

IEnumRAWINPUTDEVICE
IWpfHostSupport