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가 호스팅 패널에 표시되지 않습니다.
이 나쁜 방법으로 반드시 악, 그리고하지 않습니다! – tolanj
윈도우의 소유권을 취하는 것이 wpf 렌더링에 전혀 영향을 미치지 않는다고 생각합니다. 나는 이것을 보게 될 것이다 : https://blogs.msdn.microsoft.com/oldnewthing/20130412-00/?p=4683/ – tolanj
@ tolanj : 블로그 항목을 읽을 수 없다면 결론에 도달 할 수 없다. 반드시 악한 것은 아니었다. 매우, ** 매우 나쁜 방법으로. 그 다른 신청은 가장 확실하게 부모가 될 준비가되어 있지 않습니다. 그렇다면 ActiveX 컨트롤이 될 것입니다. – IInspectable