2010-02-19 5 views

답변

6

내 지식에 따라 WPF에서 실제 WinForms 양식을 호스팅 할 수 없습니다.

그러나 좋은 대안은 모든 필요한 기능과 하위 컨트롤이 포함 된 Winforms (Windows Forms 컨트롤 라이브러리 프로젝트)의 일반 UserControl을 만드는 것입니다.

그런 다음 WPF 프로젝트에서 WindowsFormsIntegration.dll (참조 추가의 .NET 탭에 있음)을 참조하십시오.

또한 WinForms UserControl이 포함 된 어셈블리를 참조하고 마지막으로 WindowsFormsHost 컨테이너를 XAML에 추가합니다.

자세한 내용은 useful tutorial by Sacha Barber를 참조하십시오.

1

WinForms에 대한 컨트롤로 exe를 호스트하는 방법을 보여주는 기사가 있습니다 (Tab 페이지를 사용하는 응용 프로그램, Winform.exe를 끌어다 놓은 상태에서 해당 윈도우가있는 탭 페이지를 만듭니다) 이 기사에서 파생 된 here WPF를 특별히 요구 했는지도 모르지만, 아마도 올바른 방향으로 인도 할 수 있습니까?

호프가 도움이 되었으면 안녕하세요, 탐.

+0

이 함께가는 끝나지 않았다하지만 그것의 멋진 도구. 링크를 가져 주셔서 감사합니다. – jasonk

16

다음과 같은 코드로 작업을 수행 할 수 있습니다

당신의 XAML에서 :에서

<WindowsFormsHost name="wfHost" /> 

코드 숨김

이 이
Form foo = new Form(); 
foo.TopLevel = false; 
foo.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
wfHost.Child = foo; 
+1

+1, 조금 알려진'TopLevel'. Microsoft Access *와 같은 "하위 양식"기능을 복제하려면 * .NET Compact 1.1 *에서이 작업을 수행하는 데 사용됩니다. – AMissico