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>
|
참고