다음을 통해 공유


연습: 디자인 타임에 Windows Forms에서 새 WPF 콘텐츠 만들기

이 항목에서는 Windows Forms 기반 응용 프로그램에서 사용하기 위한 WPF(Windows Presentation Foundation) 컨트롤을 만드는 방법을 보여 줍니다.

이 연습에서는 다음 작업을 수행합니다.

  • 프로젝트를 만듭니다.

  • 새 WPF 컨트롤을 만듭니다.

  • 새 WPF 컨트롤을 Windows Forms에 추가합니다. WPF 컨트롤은 ElementHost 컨트롤에서 호스팅됩니다.

참고

표시되는 대화 상자와 메뉴 명령은 활성 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다. 자세한 내용은 설정에 대한 작업을 참조하십시오.

사전 요구 사항

이 연습을 완료하려면 다음 구성 요소가 필요합니다.

  • Visual Studio 2008.

프로젝트 만들기

첫 번째 단계에서는 Windows Forms 프로젝트를 만듭니다.

참고

WPF 콘텐츠를 호스팅하는 경우 C# 및 Visual Basic 프로젝트만 지원됩니다.

프로젝트를 만들려면

새 WPF 컨트롤 만들기

프로젝트에 다른 항목을 추가하는 것과 마찬가지로 새 WPF 컨트롤을 만들어 쉽게 프로젝트에 추가할 수 있습니다. Windows Forms 디자이너에서는 복합 컨트롤, 즉 사용자 정의 컨트롤이라는 특정 종류의 컨트롤을 사용할 수 있습니다. WPF 사용자 정의 컨트롤에 대한 자세한 내용은 UserControl을 참조하십시오.

참고

WPF의 System.Windows.Controls.UserControl 형식은 Windows Forms에서 제공하는 사용자 정의 컨트롤 형식(System.Windows.Forms.UserControl라고도 함)과는 다릅니다.

새 WPF 컨트롤을 만들려면

  1. 솔루션 탐색기에서 새 WPF 사용자 정의 컨트롤 라이브러리 프로젝트를 솔루션에 추가합니다. 컨트롤 라이브러리의 기본 이름인 WpfControlLibrary1을 사용합니다. 기본 컨트롤 이름은 UserControl1.xaml입니다.

    새 컨트롤을 추가하면 다음과 같은 작업이 수행됩니다.

    • File UserControl1.xaml이 추가됩니다.

    • UserControl1.xaml.cs 파일 또는 UserControl1.xaml.vb 파일이 추가됩니다. 이 파일에는 이벤트 처리기 및 기타 구현에 대한 코드 숨김이 포함됩니다.

    • WPF 어셈블리에 대한 참조가 추가됩니다.

    • UserControl1.xaml 파일이 WPF Designer for Visual Studio에서 열립니다.

  2. 디자인 뷰에서 UserControl1이 선택되어 있는지 확인합니다. 자세한 내용은 방법: 디자인 화면의 요소 선택 및 이동을 참조하십시오.

  3. 속성 창에서 WidthHeight 속성의 값을 200으로 설정합니다.

  4. 도구 상자에서 System.Windows.Controls.TextBox 컨트롤을 디자인 화면으로 끌어 옵니다.

  5. 속성 창에서 Text 속성 값을 호스팅된 콘텐츠로 설정합니다.

    참고

    일반적으로는 보다 복잡한 WPF 콘텐츠를 호스팅하게 됩니다. 여기서는 System.Windows.Controls.TextBox 컨트롤을 설명 목적으로만 사용합니다.

  6. 프로젝트를 빌드합니다.

Windows Form에 WPF 컨트롤 추가

이제 새 WPF 컨트롤을 폼에서 사용할 수 있습니다. Windows Forms에서는 ElementHost 컨트롤을 사용하여 WPF 콘텐츠를 호스팅합니다.

Windows Form에 WPF 컨트롤을 추가하려면

  1. Windows Forms 디자이너에서 Form1을 엽니다.

  2. 도구 상자에서 WPFUserControlLibrary WPF 사용자 정의 컨트롤 탭을 찾습니다.

  3. UserControl1의 인스턴스를 폼으로 끌어 옵니다.

    • ElementHost 컨트롤이 WPF 컨트롤을 호스팅하기 위해 폼에 자동으로 만들어집니다.

    • ElementHost 컨트롤의 이름은 elementHost1로 지정되며, 속성 창에서 해당 Child 속성이 UserControl1로 설정됩니다.

    • WPF 어셈블리에 대한 참조가 프로젝트에 추가됩니다.

    • elementHost1 컨트롤에는 사용 가능한 호스팅 옵션을 보여 주는 스마트 태그 패널이 있습니다.

  4. ElementHost 작업 스마트 태그 패널에서 부모 컨테이너에서 도킹을 선택합니다.

  5. F5 키를 눌러 응용 프로그램을 빌드 및 실행합니다.

다음 단계

Windows Forms과 WPF는 서로 다른 기술이지만 긴밀하게 상호 운용되도록 디자인되어 있습니다. 응용 프로그램을 보다 다채롭게 꾸미고 다양한 동작을 추가하려면 다음을 시도해 보십시오.

참고 항목

참조

ElementHost

WindowsFormsHost

기타 리소스

마이그레이션 및 상호 운용성

WPF 컨트롤 사용

WPF Designer