2012-11-12 2 views
0
내 윈도우 내부의 WPF 응용 프로그램을 호스팅하는 다음 코드를 사용하고

양식 형성 응용 프로그램 :호스트는 윈도우 내의 WPF 응용 프로그램은 응용 프로그램

는 WPF 응용 프로그램은 독립적 인 응용 프로그램으로 여는
var clientApplication = Process.Start("C:\\WpfApplication1.exe"); 

SetParent(clientApplication.MainWindowHandle, this.Handle); 

, 어떻게 강제로 메인 윈도우 형태로 열려면

+0

Process.Start는 항상 새 프로세스를 시작합니다. 이 코드 프로젝트 링크에서 문제의 단서를 찾아보십시오. http://www.codeproject.com/Articles/9123/Hosting-EXE-Applications-in-a-WinForm-project – ryadavilli

+1

wpf를 호스팅 할 것인지 여부를 모르겠습니다. 컨트롤 또는 아닙니다. 당신이 wpf 컨트롤을 winforms 응용 프로그램 내부에 호스트하려는 경우 여기에 해당 링크가 있습니다. http://www.switchonthecode.com/tutorials/wpf-tutorial-using-wpf-in-winforms – Sai

+0

아니요, 실제로하고 싶습니다. 완전한 응용 프로그램을 호스트하십시오. –

답변

3

"완전한 응용 프로그램"은 데스크톱 응용 프로그램이라면 적어도 하나의 윈도우가 있기 때문에 어떤 것도 내부에 호스팅 할 수없는 Window 객체를 포함합니다. WPF 응용 프로그램에서 최상위 Windows를 제거한 다음 ElementHost을 사용하여 개별 뷰 (UserControls 또는 다른 비 창 요소 유형)를 호스팅 할 수 있습니다.

편집 : 이렇게하려면 winforms 프로젝트에서 WPF 응용 프로그램 프로젝트를 참조하거나 런타임에 리플렉션을 통해 모든 내용을로드해야합니다. .Exe 파일을 다른 창 내부에서 호스팅 할 수있는 방법은 없습니다.

+0

고마워요. 정확히 제가 필요한 것입니다. –

관련 문제