1. WindowsFormsHostSample 이라는 이름으로 WPF Windows Application을 하나 생성합니다.
2. 솔루션 익스플로러의 References에서 마우스 오른쪽 버튼을 눌러 Add Reference를 선택하거나 메뉴의 Project->Add Reference를 선택하고 다음과 같이 [.Net] 탭에서 System.Windows.Forms와 WindowsFormsIntegration 어셈블리를 선택하고 [OK]를 누릅니다.
3. 다음과 같이 Window1.xaml의 루트 엘리먼트에 System.Windows.Forms의 네임스페이스를 추가하고 WindowsFormsHost엘리먼트와 그 하위의 WebBrowser 엘리먼트를 추가합니다. 예제에는 그 외에 URL 이동을 시험해볼 수 있는 다른 엘리먼트도 추가하였습니다.
4. Window1.xaml.cs의 Window1 클래스에 다음과 같이 WebBrowser 컨트롤과 상호작용 할 수 있는 간단한 코드를 추가합니다.
C#
public Window1() { InitializeComponent(); myBrowser.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(myBrowser_DocumentCompleted); navigateUrl.Click += new RoutedEventHandler(navigateUrl_Click); }
// 이동 버튼을 눌렀을 때 해당 URL로 이동합니다. void navigateUrl_Click(object sender, RoutedEventArgs e) { try { myBrowser.Navigate(myUrl.Text); } catch (Exception ex) { MessageBox.Show("URL 이동에 예외 발생 : " + ex.Message.ToString()); } }
// 웹 문서의 로딩이 완료되었을 때 화면에 표시해줍니다. void myBrowser_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e) { MessageBox.Show("문서 로딩이 완료되었습니다. : " + e.Url.ToString()); }
5. 프로젝트를 빌드하고 F5를 눌러 테스트해 봅니다. 다음과 같이 WebBrowser가 정상적으로 동작함을 알 수 있고, TextBox에 URL을 입력하고 [이동]버튼을 눌러보면 페이지 네비게이션이 됨을 확인할 수 있습니다.
댓글 영역