WPF에서 Windows Forms(WinForm) Control 사용하기

WPF에서 Windows Forms(WinForm) Control 사용하는 방법에 대해 알아보겠습니다.

참조 추가

프로젝트에 다음 어셈블리에 대한 참조를 추가합니다.

  • WindowsFormsIntegration
  • System.Windows.Forms

XAML에 추가

WinForm 컨트롤을 사용하려는 XAML 파일을 열고 아래 네임스페이스 매핑을 추가합니다. wf 네임스페이스 매핑은 Windows Forms 컨트롤이 포함된 어셈블리에 대한 참조를 설정합니다.

1
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
1
2
3
4
5
6
<Window x:Class="WPF.Text.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Title="MainWindow" Height="350" Width="500">
...

사용

WindowsFormsHost 컨트롤을 사용하고 자식으로는 WinForm 컨트롤을 사용합니다.

1
2
3
<WindowsFormsHost>
<wf:PictureBox x:Name="DisplayImage"/>
</WindowsFormsHost>

전체 소스

1
2
3
4
5
6
7
8
9
10
11
12
<Window x:Class="WPF.Text.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Title="MainWindow" Height="350" Width="500">

<Grid>
<WindowsFormsHost>
<wf:PictureBox x:Name="DisplayImage" />
</WindowsFormsHost>
</Grid>
</Window>

참고

Share