다음을 통해 공유


Office 솔루션에서 WPF 컨트롤 사용

Visual Studio의 Office 개발 도구를 사용하여 만든 솔루션은 Windows Forms 컨트롤과 직접 연동되도록 디자인되었지만 솔루션에서 WPF 컨트롤을 사용할 수도 있습니다. 사용자 인터페이스를 디자인할 때 Windows Forms 대신 WPF(Windows Presentation Foundation)를 사용할 수 있습니다. WPF는 XAML(Extensible Application Markup Language)이라고 하는 태그 언어를 사용하여 UI, 미디어 및 문서를 통합할 수 있는 새로운 기술을 제공합니다. 자세한 내용은 WPF 소개를 참조하십시오.

적용 대상: 이 항목의 정보는 Microsoft Office 2010 및 2007 Microsoft Office system의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

Office 솔루션에서 Windows Forms 컨트롤을 호스팅할 수 있는 UI 요소는 WPF 컨트롤도 호스팅할 수 있습니다. 여기에는 다음과 같은 요소가 포함됩니다.

  • 문서 수준 사용자 지정의 문서 및 워크시트

  • 문서 수준 사용자 지정의 작업 창

  • 응용 프로그램 수준 추가 기능의 사용자 지정 작업 창

  • Outlook용 응용 프로그램 수준 추가 기능의 양식 영역

비디오에 링크 관련 비디오 데모를 보려면 How Do I: Use WPF Controls Inside an Excel Actions Pane?을 참조하십시오.

디자인 타임에 Office 프로젝트에 WPF 컨트롤 추가

Office 솔루션의 UI 요소에 직접 WPF 컨트롤을 추가할 수 없습니다. 대신 프로젝트에 사용자 정의 컨트롤(WPF) 항목을 추가하고 해당 항목을 WPF 컨트롤의 디자인 화면으로 사용합니다. 그런 다음 프로젝트의 UI 요소에 WPF 사용자 정의 컨트롤을 추가합니다.

작업 창, 사용자 지정 작업 창 또는 양식 영역에 WPF 컨트롤을 추가하려면

  1. 사용자 지정 작업 창, 작업 창 또는 양식 영역을 추가할 프로젝트를 엽니다.

  2. 프로젝트에 사용자 정의 컨트롤(WPF) 항목을 추가합니다.

  3. 도구 상자에서 WPF 컨트롤을 WPF 사용자 정의 컨트롤의 디자인 화면에 추가합니다.

    기본적으로 WPF 사용자 정의 컨트롤 디자이너가 열릴 때 도구 상자에는 WPF 컨트롤만 포함됩니다.

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

  5. 프로젝트에 작업 창, 양식 영역 또는 사용자 지정 작업 창을 추가합니다.

  6. 도구 상자의 ProjectName WPF 사용자 정의 컨트롤 탭에서 WPF 사용자 정의 컨트롤을 작업 창, 양식 영역 또는 사용자 지정 작업 창으로 끌어 옵니다.

    Visual Studio에서 UI 요소의 WPF 사용자 정의 컨트롤을 호스팅하는 ElementHost 개체가 자동으로 만들어집니다.

  7. 프로젝트를 다시 빌드합니다.

문서 수준 프로젝트의 문서 또는 워크시트에 WPF 컨트롤을 추가하려면

  1. Word 또는 Excel용 문서 수준 프로젝트를 엽니다.

  2. 프로젝트에 사용자 정의 컨트롤(WPF) 항목을 추가합니다.

  3. 도구 상자에서 WPF 컨트롤을 WPF 사용자 정의 컨트롤의 디자인 화면에 추가합니다.

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

  5. 프로젝트에 사용자 정의 컨트롤 항목(즉, Windows Forms 사용자 정의 컨트롤)을 추가합니다.

  6. Windows Forms 사용자 정의 컨트롤의 디자이너를 엽니다.

  7. 도구 상자의 ProjectName WPF 사용자 정의 컨트롤 탭에서 WPF 사용자 정의 컨트롤을 디자이너로 끌어 옵니다.

    Visual Studio에서 Windows Forms 사용자 정의 컨트롤의 WPF 사용자 정의 컨트롤을 호스팅하는 ElementHost 개체가 자동으로 만들어집니다.

  8. 문서 또는 통합 문서에 Windows Forms 사용자 정의 컨트롤을 프로그래밍 방식으로 추가하는 코드를 작성합니다. 자세한 내용은 런타임에 Office 문서에 컨트롤 추가를 참조하십시오.

    참고

    Windows Forms 사용자 정의 컨트롤을 디자이너의 문서 또는 워크시트로 끌 수는 없습니다.

  9. 프로젝트를 다시 빌드합니다.

ElementHost 클래스를 사용하여 WPF 컨트롤 호스팅

Visual Studio에서는 Office 솔루션에서 Windows Forms 컨트롤을 사용하는 데 유용한 기능을 제공하지만 WPF 컨트롤에 대해서는 비슷한 기능을 제공하지 않습니다. 예를 들어 디자인 타임에 도구 상자의 컨트롤을 끌어 놓거나 런타임에 도우미 메서드를 사용하여 문서 및 워크시트에 Windows Forms 컨트롤을 추가할 수 있습니다. 그러나 WPF 컨트롤의 경우에는 이러한 도구를 사용할 수 없습니다.

WPF 컨트롤은 Windows Forms 컨트롤 또는 양식과 WPF 컨트롤 간의 통합 레이어로 ElementHost 클래스를 사용합니다. 디자인 타임에 솔루션에 WPF 컨트롤을 추가하면 Visual Studio에서 ElementHost 개체가 자동으로 생성됩니다. ElementHost 클래스를 프로그래밍 방식으로 사용하는 방법을 보여 주는 연습은 방법: ElementHost를 사용하여 Windows Forms에서 WPF 컨트롤 호스팅을 참조하십시오.

WPF 리소스

Windows Forms 컨트롤 및 양식에 WPF 컨트롤을 호스팅하는 데 관련된 아키텍처 및 디자인 문제에 대한 자세한 내용은 다음 항목을 참조하십시오.

디자인 타임에 Visual Studio에서 Windows Forms 컨트롤 및 양식에 WPF 컨트롤을 추가하는 것에 대한 자세한 내용은 다음 항목을 참조하십시오.

참고 항목

작업

방법: Word 문서에 작업 창 추가

방법: Excel 통합 문서에 작업 창 추가

방법: 응용 프로그램에 사용자 지정 작업 창 추가

방법: Outlook 추가 기능 프로젝트에 양식 영역 추가

개념

Office 문서의 Windows Forms 컨트롤 개요

기타 리소스

Office UI 사용자 지정

작업 창 개요

사용자 지정 작업 창 개요

Outlook 양식 영역 만들기