Condividi tramite


API native WPF per il supporto dell'hosting del browser

L'hosting delle applicazioni WPF nei browser è facilitato da un server di documenti attivi, anche noto come DocObject, registrato tramite l'host WPF. È possibile attivare e integrare direttamente Internet Explorer con un documento attivo. Per l'hosting XBAP e documenti XAML separati nei browser Mozilla, è disponibile in WPF un plug-in NPAPI che fornisce al server di documenti attivi WPF un ambiente host analogo nelle stesse modalità di Internet Explorer. Tuttavia, il modo ottimale e più semplice per ospitare XBAP e documenti XAML in altri browser e applicazioni autonome consiste nell'utilizzare il controllo Web Browser di Internet Explorer. Il controllo Web Browser fornisce l'ambiente host complesso del server di documenti attivi, ma include anche un host in grado di personalizzare ed estendere tale ambiente, nonché comunicare direttamente con l'oggetto documento attivo corrente.

Il server di documenti attivi WPF implementa varie interfacce di hosting comuni, quali IOleObject, IOleDocument, IOleInPlaceActiveObject, IPersistMoniker e IOleCommandTarget. Quando sono ospitate nel controllo Web Browser, queste interfacce possono ricevere query dall'oggetto restituito dalla proprietà IWebBrowser2::Document.

IOleCommandTarget

L'implementazione di IOleCommandTarget per il server di documenti attivi WPF supporta numerosi comandi relativi alla navigazione e specifici del browser del gruppo di comandi OLE standard (con un valore GUID del gruppo di comandi Null). Inoltre, riconosce un gruppo di comandi personalizzato denominato CGID_PresentationHost. Al momento, all'interno di questo gruppo è definito un solo comando.

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 di spostare lo stato attivo sul primo o sull'ultimo elemento attivabile del relativo contenuto, a seconda dello stato di MAIUSC.

In questa sezione