2016-10-07 1 views
1

winform 호스트를 사용하는 다른 WPF 응용 프로그램 내부에 WPF exe 윈도우가 표시됩니다.WinformHost 패널 내의 WPF 윈도우

주 응용 프로그램에서 패널을 만들고 winformhost의 하위로 설정했습니다.

mHostingPanel = new System.Windows.Forms.Panel() 
      { 
       BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle 
      };     


      mWinformHost = new WindowsFormsHost(); 
      mWinformHost.Child = mHostingPanel; 

그런 다음 다른 창 프로세스를 시작하고 상위로 호스팅 패널을 설정합니다. 내가 부모가 직접-X 또는 패널의 GDI 컨텍스트 수 panel.Will의 WinForm 내 아이 WPF 창 렌더링 될 응용 프로그램을 실행하는 경우

WindowsAPI.SetParent(mProcess.MainWindowHandle, mHostingPanel.Handle); 

내 질문은?

또한 Allowtransparency = True를 자식 WPF 응용 프로그램에 설정하면 UI가 호스팅 패널에 표시되지 않습니다.

+0

이 나쁜 방법으로 반드시 악, 그리고하지 않습니다! – tolanj

+0

윈도우의 소유권을 취하는 것이 wpf 렌더링에 전혀 영향을 미치지 않는다고 생각합니다. 나는 이것을 보게 될 것이다 : https://blogs.msdn.microsoft.com/oldnewthing/20130412-00/?p=4683/ – tolanj

+0

@ tolanj : 블로그 항목을 읽을 수 없다면 결론에 도달 할 수 없다. 반드시 악한 것은 아니었다. 매우, ** 매우 나쁜 방법으로. 그 다른 신청은 가장 확실하게 부모가 될 준비가되어 있지 않습니다. 그렇다면 ActiveX 컨트롤이 될 것입니다. – IInspectable

답변