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 통합 문서에 작업 창 추가를 참조하세요.
사용자 지정 작업창의 경우 프로젝트에 사용자 정의 컨트롤 항목을 추가합니다. 자세한 내용은 방법: 애플리케이션에 사용자 지정 작업창 추가를 참조하세요.
도구 상자의 ProjectNameWPF 사용자 컨트롤 탭에서 작업 창, 양식 영역 또는 사용자 지정 작업창에 대한 디자이너로 WPF 사용자 정의 컨트롤을 끕니다.
Visual Studio는 UI 요소에서 ElementHost WPF 사용자 컨트롤을 호스트하는 개체를 자동으로 만듭니다.
프로젝트를 다시 빌드합니다.
문서 수준 프로젝트의 문서 또는 워크시트에 WPF 컨트롤을 추가하려면
Word 또는 Excel에 대한 문서 수준 프로젝트를 엽니다.
프로젝트에 WPF(사용자 컨트롤) 항목을 추가합니다.
도구 상자에서 WPF 사용자 컨트롤 디자인 화면에 WPF 컨트롤을 추가합니다.
프로젝트를 빌드합니다.
사용자 컨트롤 항목(즉, Windows Forms 사용자 컨트롤)을 프로젝트에 추가합니다.
Windows Forms 사용자 컨트롤에 대한 디자이너를 엽니다.
도구 상자의 ProjectNameWPF 사용자 컨트롤 탭에서 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 컨트롤을 추가하는 방법에 대한 자세한 내용은 다음 항목을 참조하세요.