다음을 통해 공유


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

WPF 호스트 외부에서 등록된 활성 문서 서버(DocObject라고도 함)를 사용하면 웹 브라우저에서 WPF 응용 프로그램을 원활하게 호스팅할 수 있습니다. Internet Explorer는 직접 활성 문서를 활성화하고 활성 문서와 통합될 수 있습니다. Mozilla 브라우저에서 XBAP와 느슨한 XAML 문서를 호스팅하는 경우 WPF는 NPAPI 플러그 인을 제공합니다. 이 플러그 인은 Internet Explorer에서와 마찬가지로 WPF 활성 문서 서버에 더 작은 호스팅 환경을 제공합니다. 그러나 다른 브라우저와 독립 실행형 응용 프로그램에서 XBAP와 XAML 문서를 호스팅하는 가장 쉬운 실제적 방법은 Internet Explorer 웹 브라우저 컨트롤을 통한 방법입니다. 웹 브라우저 컨트롤은 복잡한 활성 문서 서버 호스팅 환경을 제공하지만 자체 호스트에서 해당 환경을 사용자 지정 및 확장하고 현재 활성 문서 개체와 직접 통신할 수 있도록 합니다.

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는 PresentationHost가 Shift 키의 상태에 따라 콘텐츠에서 포커스를 받을 수 있는 첫 번째 요소나 마지막 요소로 포커스를 전환하도록 지시합니다.

단원 내용