Интерфейсы API для поддержки размещения в собственном браузере WPF
Размещение WPF приложений в веб-браузерах упрощается с помощью сервера активных документов (также известного как DocObject), зарегистрированного из ведущего приложения WPF. Internet Explorer напрямую можно активировать и интегрировать в активный документ. Для размещения приложений XBAP и Свободный XAML документов в браузерах Mozilla WPF предоставляет подключаемый модуль NPAPI, который предоставляет аналогичную среду размещения для WPF сервера активных документов как Internet Explorer does. Однако самый простой удобный для размещения приложений XBAP и XAML документов в других браузерах и автономных приложениях является использование элемента управления веб-обозревателя Internet Explorer. Элемент управления веб-браузер предоставляет сложные среда размещения сервера активных документов, а также включает собственную узла настроить и расширить эту среду и напрямую взаимодействовать с объект текущего активного документа.
WPF Сервера активных документов реализует несколько общих интерфейсов размещения, включая IOleObject, IOleDocument, IOleInPlaceActiveObject, IPersistMoniker, IOleCommandTarget. При размещении в элементе управления веб-браузер, эти интерфейсы могут выступать запросы из объекта, возвращаемого IWebBrowser2::Document свойство.
IOleCommandTarget
Реализация сервера активных документов WPF IOleCommandTarget поддерживает множество связанных с навигацией и обозревателем команд из стандартной группы команды OLE (с пустым GUID группы команд). Кроме того он распознает группу пользовательской команды с именем 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.