WPF XAML 페이지 내에 WinForms Form을 통합하려고합니다. WindowsFormsHost를 사용하여 Windows Forms 컨트롤을 배치하는 예제를 보았지만 전체 폼을 통합하는 것은 아닙니다.XAML WPF 내에 Winforms 폼 삽입
할 방법이 있습니까? Windows 양식은 WPF 응용 프로그램 내에서 호스팅되며 현재 새 창으로로드 할 수 있지만 XAML 페이지에는로드 할 수 없습니다.
WPF XAML 페이지 내에 WinForms Form을 통합하려고합니다. WindowsFormsHost를 사용하여 Windows Forms 컨트롤을 배치하는 예제를 보았지만 전체 폼을 통합하는 것은 아닙니다.XAML WPF 내에 Winforms 폼 삽입
할 방법이 있습니까? Windows 양식은 WPF 응용 프로그램 내에서 호스팅되며 현재 새 창으로로드 할 수 있지만 XAML 페이지에는로드 할 수 없습니다.
WPF 양식의 WindowsFormsHost 태그 안에 WinForms 양식을 삽입하는 것은 오류입니다. 그러나 WPF 프로젝트에서 새 양식을 인스턴스화 할 수 있습니다. 방법은 다음과 같습니다.
두 개의 프로젝트 "WinFormProj"와 "WPFProj"가 있다고합시다. WinFormProj에는 "로그인"이라는 양식이 있습니다.
먼저 WPFProj 프로젝트의 참조를 WinFormProj에 추가하십시오.
그리고 어떤 WPFProj 요소에 어떤 이벤트 뒤에 다음을 수행하십시오
var winFormWindow = new WinFormProj.Login();
winFormWindow.Show();
// or
windFormWindow.ShowDialog();
을 그하지 않을 경우에, 당신은 당신의 윈폼이 가는 WindowsFormsHost 단지 위대한 존재하는 사용자 컨트롤에 형성 변환 할 수 있습니다 WPF 태그. 클래스 선언과 변화에 ... 종종만큼 간단
이동을 그렇게하려면 :
public class Login : Form
하려면
public class Login : UserControl
다음, WPF 양식에서 윈폼을 추가 xml 네임 스페이스로 프로젝트 :
xmlns:winForms="clr-namespace:WinFormsProj;assembly=WinFormsProj"
마지막으로 Grid/StackPanel/사용자가 원하는 위치에 추가하십시오. 호스트 :
<WindowsFormsHost Name="LoginControl">
<winForms:LogIn />
</WindowsFormsHost>
일단 당신이 그것을 demystify 꽤 간단합니다.