Utiliser des contrôles WPF dans les solutions OfficeUse WPF controls in Office solutions

Bien que les solutions créées à l'aide des outils de développement Office dans Visual Studio soient conçues pour fonctionner directement avec les contrôles Windows Forms, vous pouvez également utiliser des contrôles WPF dans vos solutions.Although solutions created by using the Office development tools in Visual Studio are designed to work with directly with Windows Forms controls, you can also use WPF controls in your solutions. Windows Presentation Foundation (WPF) est une alternative à Windows Forms pour concevoir des interfaces utilisateur.Windows Presentation Foundation (WPF) is an alternative to Windows Forms for designing user interfaces. WPF utilise un langage de balisage appelé XAML (eXtensible Application Markup Language) qui offre de nouvelles techniques pour intégrer l'interface utilisateur, les médias et les documents.WPF uses a markup language called Extensible Application Markup Language (XAML) to provide new techniques for incorporating UI, media, and documents. Pour plus d’informations, consultez vue d’ensemble WPF.For more information, see WPF overview.

S’applique à : Les informations contenues dans cette rubrique s’applique au document-projets et ajouter de VSTO de niveau-dans les projets.Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects. Consultez fonctionnalités disponibles par type d’application et de projet Office.See Features available by Office application and project type.

Tout élément d'interface utilisateur qui peut héberger des contrôles Windows Forms dans une solution Office peut également héberger des contrôles WPF.Any UI element that can host Windows Forms controls in an Office solution can also host WPF controls. Ces éléments sont entre autres les suivants :These include the following elements:

  • Les documents et les feuilles de calcul dans les personnalisations au niveau du document.Documents and worksheets in document-level customizations.

  • Les volets Actions dans les personnalisations au niveau du document.Actions panes in document-level customizations.

  • Les volets de tâches personnalisés dans les compléments VSTO.Custom task panes in VSTO Add-ins.

  • Les zones de formulaire dans les compléments VSTO pour Outlook.Form regions in VSTO Add-ins for Outlook.

Ajouter des contrôles WPF aux projets Office au moment du designAdd WPF controls to Office projects at design time

Vous ne pouvez pas ajouter des contrôles WPF directement aux éléments d'interface utilisateur dans les solutions Office.You cannot add WPF controls directly to UI elements in Office solutions. Au lieu de cela, ajoutez un contrôle utilisateur (WPF) d’élément à votre projet et utilisez-le comme aire de conception pour les contrôles WPF.Instead, add a User Control (WPF) item to your project, and use it as the design surface for WPF controls. Puis, ajoutez le contrôle utilisateur WPF à un élément d'interface utilisateur de votre projet.Then, add the WPF user control to a UI element in your project.

Pour ajouter des contrôles WPF à un volet Actions, un volet des tâches personnalisé ou une zone de formulaireTo add WPF controls to an actions pane, custom task pane, or form region

  1. Ouvrez un projet auquel vous souhaitez ajouter un volet des tâches personnalisé, un volet Actions ou une zone de formulaire.Open a project to which you want to add a custom task pane, an actions pane, or a form region.

  2. Ajouter un contrôle utilisateur (WPF) élément à votre projet.Add a User Control (WPF) item to your project.

  3. À partir de la boîte à outils, ajouter des contrôles WPF à l’aire de conception de contrôle utilisateur WPF.From the Toolbox, add WPF controls to the WPF user control design surface.

    Par défaut, lorsque le Concepteur de contrôles utilisateur WPF est ouvert, le boîte à outils contient uniquement des contrôles WPF.By default, when the WPF user control designer is open, the Toolbox contains only WPF controls.

  4. Générez le projet.Build the project.

  5. Ajoutez un volet Actions, une zone de formulaire ou un volet des tâches personnalisé à votre projet :Add an actions pane, form region, or custom task pane to your project:

  6. À partir de la nom_projet contrôles utilisateur WPF onglet de la boîte à outils, faites glisser le contrôle utilisateur WPF vers le concepteur pour le volet actions, une zone de formulaire ou un volet Office personnalisé.From the ProjectName WPF User Controls tab of the Toolbox, drag the WPF user control to the designer for the actions pane, form region, or custom task pane.

    Visual Studio crée automatiquement un objet ElementHost qui héberge le contrôle utilisateur WPF sur l'élément d'interface utilisateur.Visual Studio automatically creates an ElementHost object that hosts the WPF user control on the UI element.

  7. Regénérez le projet.Rebuild the project.

Pour ajouter des contrôles WPF à un document ou à une feuille de calcul d'un projet au niveau du documentTo add WPF controls to a document or worksheet in a document-level project

  1. Ouvrez un projet au niveau du document pour Word ou Excel.Open a document-level project for Word or Excel.

  2. Ajouter un contrôle utilisateur (WPF) élément à votre projet.Add a User Control (WPF) item to your project.

  3. À partir de la boîte à outils, ajouter des contrôles WPF à l’aire de conception de contrôle utilisateur WPF.From the Toolbox, add WPF controls to the WPF user control design surface.

  4. Générez le projet.Build the project.

  5. Ajouter un contrôle utilisateur élément (autrement dit, un contrôle utilisateur Windows Forms) au projet.Add a User Control item (that is, a Windows Forms user control) to the project.

  6. Ouvrez le concepteur pour le contrôle utilisateur Windows Forms.Open the designer for the Windows Forms user control.

  7. À partir de la nom_projet contrôles utilisateur WPF onglet de la boîte à outils, faites glisser le contrôle utilisateur WPF vers le concepteur.From the ProjectName WPF User Controls tab of the Toolbox, drag the WPF user control to the designer.

    Visual Studio crée automatiquement un objet ElementHost qui héberge le contrôle utilisateur WPF dans le contrôle utilisateur Windows Forms.Visual Studio automatically creates an ElementHost object that hosts the WPF user control in the Windows Forms user control.

  8. Écrivez le code qui ajoute par programmation le contrôle utilisateur Windows Forms au document ou au classeur.Write code that programmatically adds the Windows Forms user control to the document or workbook. Pour plus d’informations, consultez ajouter des contrôles aux documents Office au moment de l’exécution.For more information, see Add controls to Office documents at runtime.

    Note

    Vous ne pouvez pas faire glisser le contrôle utilisateur Windows Forms vers le document ou la feuille de calcul du concepteur .You cannot drag the Windows Forms user control to the document or worksheet in the designer.

  9. Regénérez le projet.Rebuild the project.

Héberger des contrôles WPF à l’aide de la classe ElementHostHost WPF controls by using the ElementHost class

Visual Studio fournit des fonctionnalités qui vous aident à utiliser les contrôles Windows Forms dans vos solutions Office, mais il ne fournit pas de fonctionnalités similaires pour les contrôles WPF.Visual Studio provides features that help you use Windows Forms controls in your Office solutions, but it does not provide similar features for WPF controls. Par exemple, vous pouvez ajouter des contrôles Windows Forms aux documents et feuilles de calcul au moment du design en faisant glisser des contrôles à partir de la boîte à outils, ou lors de l’exécution à l’aide des méthodes d’assistance.For example, you can add Windows Forms controls to documents and worksheets at design time by dragging controls from the Toolbox, or at runtime by using helper methods. Cependant, ces outils ne sont pas disponibles pour les contrôles WPF.However, these tools are not available for WPF controls.

Les contrôles WPF utilisent la classe ElementHost comme couche d'intégration entre un formulaire ou contrôle Windows Forms et les contrôles WPF.WPF controls use the ElementHost class as an integration layer between a Windows Forms control or form and the WPF controls. Lorsque vous ajoutez des contrôles WPF à votre solution au moment du design, Visual Studio génère automatiquement un objet ElementHost.When you add WPF controls to your solution at design time, Visual Studio automatically generates an ElementHost object for you.

Ressources WPFWPF resources

Pour plus d'informations sur les problèmes d'architecture ou de conception d'hébergement des contrôles WPF sur les formulaires et les contrôles Windows Forms, consultez les rubriques suivantes :For more information about architectural and design issues for hosting WPF controls on Windows Forms controls and forms, see the following topics:

Pour plus d'informations sur l'ajout de contrôles WPF à des formulaires et contrôles Windows Forms dans Visual Studio au moment du design, consultez les rubriques suivantes :For more information about adding WPF controls to Windows Forms controls and forms in Visual Studio at design time, see the following topics:

Voir aussiSee also