다음을 통해 공유


네이티브 WPF 브라우저 호스팅 지원 API

웹 브라우저에서 WPF 애플리케이션의 호스팅은 WPF 호스트에서 등록된 활성 문서 서버(DocObject라고도 함)에 의해 촉진됩니다. Internet Explorer는 활성 문서를 직접 활성화하고 통합할 수 있습니다. Mozilla 브라우저에서 XBAP 및 느슨한 XAML 문서를 호스팅하기 위해 WPF는 Internet Explorer와 마찬가지로 WPF 활성 문서 서버에 유사한 호스팅 환경을 제공하는 NPAPI 플러그 인을 제공합니다. 그러나 다른 브라우저 및 독립 실행형 애플리케이션에서 XBAP 및 XAML 문서를 호스트하는 가장 쉬운 실용적인 방법은 Internet Explorer 웹 브라우저 컨트롤을 사용하는 것입니다. 웹 브라우저 컨트롤은 복잡한 활성 문서 서버 호스팅 환경을 제공하면서도, 자체 호스트가 해당 환경을 사용자 지정 및 확장하여 현재 활성 문서 개체와 직접 통신할 수 있도록 합니다.

Warning

XBAP를 사용하려면 Internet Explorer 및 이전 버전의 Firefox와 같은 레거시 브라우저가 작동해야 합니다. 이러한 구형 브라우저는 일반적으로 Windows 10 및 Windows 11에서 지원되지 않습니다. 최신 브라우저는 보안 위험으로 인해 XBAP 앱에 필요한 기술을 더 이상 지원하지 않습니다. XBAP를 사용하도록 설정하는 플러그 인은 더 이상 지원되지 않습니다. 자세한 내용은 WPF XBAP(브라우저 호스팅 애플리케이션)에 대한 질문과 대답을 참조하세요.

WPF 활성 문서 서버는 IOleObject, IOleDocument, IOleInPlaceActiveObject, IPersistMoniker, IOleCommandTarget을 비롯한 몇 가지 일반적인 호스팅 인터페이스를 구현합니다. 웹 브라우저 컨트롤에서 호스트되는 경우 이러한 인터페이스는 IWebBrowser2::Document 속성에서 반환된 개체의 쿼리일 수 있습니다.

IOleCommandTarget

WPF 활성 문서 서버의 IOleCommandTarget 구현은 표준 OLE 명령 그룹(null 명령 그룹 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는 Shift 키의 상태에 따라 PresentationHost가 해당 콘텐츠의 첫 번째 또는 마지막 포커스 가능 요소로 포커스를 전환하도록 지시합니다.

섹션 내용

IEnumRAWINPUTDEVICE
IWpfHostSupport