Office 솔루션에서 WPF 컨트롤 사용
Visual Studio에서 Office 개발 도구를 사용하여 만든 솔루션은 Windows Forms 컨트롤에서 직접 작동하도록 설계되었지만 솔루션에서 WPF 컨트롤을 사용할 수도 있습니다. WPF(Windows Presentation Foundation)는 Windows Forms 대신 사용자 인터페이스를 디자인하는 데 사용됩니다. WPF는 XAML(Extensible Application Markup Language)이라는 태그 언어를 사용하여 UI, 미디어 및 문서를 통합하기 위한 새로운 기술을 제공합니다. 자세한 내용은 WPF 개요를 참조하세요.
적용 대상: 이 항목의 정보는 문서 수준 프로젝트 및 VSTO 추가 기능 프로젝트에 적용됩니다. Office 애플리케이션 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하세요.
Office 솔루션에서 Windows Forms 컨트롤을 호스트할 수 있는 UI 요소는 WPF 컨트롤도 호스트할 수 있습니다. 다음 요소를 포함합니다.
문서 수준 사용자 지정의 문서 및 워크시트
문서 수준 사용자 지정의 작업 창
VSTO 추가 기능의 사용자 지정 작업창
Outlook용 VSTO 추가 기능의 양식 영역
디자인 타임에 Office 프로젝트에 WPF 컨트롤 추가
Office 솔루션의 UI 요소에 직접 WPF 컨트롤을 추가할 수 없습니다. 대신 사용자 정의 컨트롤(WPF) 항목을 프로젝트에 추가하고 WPF 컨트롤의 디자인 화면으로 사용합니다. 그런 다음 프로젝트에 있는 UI 요소에 WPF 사용자 정의 컨트롤을 추가합니다.
작업 창, 사용자 지정 작업창 또는 양식 영역에 WPF 컨트롤을 추가하려면
사용자 지정 작업창, 작업 창 또는 양식 영역을 추가하려는 프로젝트를 엽니다.
사용자 정의 컨트롤(WPF) 항목을 프로젝트에 추가합니다.
도구 상자에서 WPF 컨트롤을 WPF 사용자 정의 컨트롤 디자인 화면에 추가합니다.
WPF 사용자 정의 컨트롤 디자이너가 열려 있으면 기본적으로 도구 상자에 WPF 컨트롤만 포함됩니다.
프로젝트를 빌드합니다.
작업 창, 양식 영역 또는 사용자 지정 작업창을 프로젝트에 추가합니다.
양식 영역의 경우 Outlook 양식 영역 항목을 프로젝트에 추가합니다. 자세한 내용은 방법: Outlook 추가 기능 프로젝트에 양식 영역 추가를 참조하세요.
작업 창의 경우 작업 창 컨트롤 또는 사용자 정의 컨트롤 항목을 프로젝트에 추가합니다. 자세한 내용은 방법: Word 문서 또는 Excel 통합 문서에 작업 창 추가를 참조하세요.
사용자 지정 작업창의 경우 사용자 정의 컨트롤 항목을 프로젝트에 추가합니다. 자세한 내용은 방법: 애플리케이션에 사용자 지정 작업창 추가를 참조하세요.
도구 상자의 프로젝트 이름 WPF 사용자 제어 탭에서 작업 창, 양식 영역 또는 사용자 지정 작업 창에 대한 디자이너로 WPF 사용자 제어를 드래그합니다.
Visual Studio에서 자동으로 UI 요소에 WPF 사용자 정의 컨트롤을 호스트하는 ElementHost 개체를 만듭니다.
프로젝트를 다시 빌드합니다.
문서 수준 프로젝트의 문서 또는 워크시트에 WPF 컨트롤을 추가하려면
Word 또는 Excel에 대한 문서 수준 프로젝트를 엽니다.
사용자 정의 컨트롤(WPF) 항목을 프로젝트에 추가합니다.
도구 상자에서 WPF 컨트롤을 WPF 사용자 정의 컨트롤 디자인 화면에 추가합니다.
프로젝트를 빌드합니다.
사용자 정의 컨트롤 항목(즉, Windows Forms 사용자 정의 컨트롤)을 프로젝트에 추가합니다.
Windows Forms 사용자 정의 컨트롤에 대한 디자이너를 엽니다.
도구 상자의 프로젝트 이름 WPF 사용자 제어 탭에서 WPF 사용자 제어를 디자이너로 드래그합니다.
Visual Studio에서 자동으로 Windows Forms 사용자 정의 컨트롤에 WPF 사용자 정의 컨트롤을 호스트하는 ElementHost 개체를 만듭니다.
프로그래밍 방식으로 문서 또는 통합 문서에 Windows Forms 사용자 정의 컨트롤을 추가하는 코드를 작성합니다. 자세한 내용은 런타임 시 Office 문서에 컨트롤 추가를 참조하세요.
참고 항목
디자이너에서 Windows Forms 사용자 정의 컨트롤을 문서 또는 워크시트로 끌 수 없습니다.
프로젝트를 다시 빌드합니다.
ElementHost 클래스를 사용하여 WPF 컨트롤 호스트
Visual Studio은 Office 솔루션에서 Windows Forms 컨트롤을 사용하는 데 유용한 기능을 제공하지만 WPF 컨트롤에 대해서는 유사한 기능을 제공하지 않습니다. 예를 들어 디자인 타임에 도구 상자에서 컨트롤을 끌어 또는 런타임에 도우미 메서드를 사용하여 문서 및 워크시트에 Windows Forms 컨트롤을 추가할 수 있습니다. 그러나 WPF 컨트롤에는 이러한 도구를 사용할 수 없습니다.
WPF 컨트롤은 Windows Forms 컨트롤 또는 폼과 WPF 컨트롤 간의 통합 계층으로 ElementHost 클래스를 사용합니다. 디자인 타임에 솔루션에 WPF 컨트롤을 추가하는 경우 Visual Studio에서 자동으로 ElementHost 개체를 생성합니다.
WPF 리소스
Windows Forms 컨트롤 및 폼에 WPF 컨트롤을 호스트하기 위한 아키텍처 및 디자인 문제에 대한 자세한 내용은 다음 항목을 참조하세요.
디자인 타임에 Visual Studio에서 Windows Forms 컨트롤과 폼에 WPF 컨트롤을 추가하는 방법에 대한 자세한 내용은 다음 항목을 참조하세요.