윈폼(Winform) 컨트롤 사용하기
using System.Windows;
using System.Windows.Controls;
using System.Windows.Forms.Integration;
namespace WPFWindowsFormsHost
{
/// <summary>
/// Window1.xaml에 대한 상호 작용 논리
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
// WPF Expander Control 생성
Expander expander = new Expander();
expander.Header = "WPF WindowsFormsHost";
// 컨트롤을 생성하고 이를 WindowsFormsHost에 매핑한다.
WindowsFormsHost host = new WindowsFormsHost();
host.Child = new System.Windows.Forms.MonthCalendar();
// Expender Content프로퍼티에 WindowsFormsHost 인스턴스 생성
expander.Content = host;
// Root Element에 Expender을 추가한다.
this.Content = expander;
}
}
}
네임스페이스에 using System.Windows.Forms.Integration를 추가하면 ElementHost 클래스를 인스턴스 할 수 있습니다. ElementHost 클래스에 있는 Child 프로퍼티는 윈폼의 컨트롤을 포함하게 하여 WPF에서 윈폼컨트롤을 보여지게 할 수있습니다.
Child 프로퍼티에 윈폼의 달력 컨트롤을 인스턴스하여 생성하면 화면에 달력이 보여지게 됩니다.
참고사이트 : http://www.danielmoth.com/Blog/2007/10/wpf-and-windows-forms-integration.html
참고도서 : 애덤 네이선의 WPF 언리쉬드