Usar controles de WPF en soluciones de Office

Aunque las soluciones creadas con las herramientas de desarrollo de Visual Studio para Office están diseñadas para funcionar directamente con controles de Windows Forms, también puede usar controles WPF en sus soluciones. Windows Presentation Foundation (WPF) es una alternativa a los formularios Windows Forms para diseñar interfaces de usuario. WPF utiliza un lenguaje de marcado denominado lenguaje XAML que proporciona nuevas técnicas con el fin de incorporar interfaces de usuario, multimedia y documentos. Para obtener más información, vea Introducción a WPF.

Se aplica a: la información de este tema se aplica a los proyectos de nivel de documento y los proyectos de nivel de aplicación para Microsoft Office 2010 y 2007 Microsoft Office System. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Cualquier elemento de la interfaz de usuario que pueda hospedar controles de Windows Forms en una solución de Office también puede hospedar controles WPF. Entre estos elementos se incluyen los siguientes:

  • Documentos y hojas de cálculo en personalizaciones de nivel de documento.

  • Paneles de acciones en personalizaciones de nivel de documento.

  • Paneles de tareas personalizados en complementos de nivel de aplicación.

  • Áreas de formulario en complementos de nivel de aplicación para Outlook.

vínculo a vídeo Dispone de una demostración en vídeo en How Do I: Use WPF Controls Inside an Excel Actions Pane?.

Agregar controles WPF a proyectos de Office en tiempo de diseño

No puede agregar controles WPF directamente a los elementos de la interfaz de usuario en las soluciones de Office. En su lugar, agregue un elemento Control de usuario (WPF) al proyecto y utilícelo como superficie de diseño para los controles de WPF. A continuación, agregue el control de usuario de WPF a un elemento de la interfaz de usuario del proyecto.

Para agregar controles de WPF a un panel de acciones, panel de tareas personalizado o área de formulario

  1. Abra un proyecto al que desea agregar un panel de tareas personalizado, un panel de acciones o un área de formulario.

  2. Agregue un elemento Control de usuario (WPF) al proyecto.

  3. En el Cuadro de herramientas, agregue controles de WPF a la superficie de diseño del control de usuario de WPF.

    De forma predeterminada, cuando el diseñador de controles de usuario de WPF está abierto, el Cuadro de herramientas sólo contiene controles de WPF.

  4. Compile el proyecto.

  5. Agregue un panel de acciones, área de formulario o panel de tareas personalizado al proyecto:

  6. Desde la ficha Controles de usuario de nombreDeProyecto del Cuadro de herramientas, arrastre el control de usuario de WPF hacia el diseñador para el panel de acciones, área de formulario o panel de tareas personalizado.

    Visual Studio crea automáticamente un objeto ElementHost que hospeda el control de usuario de WPF en el elemento de la interfaz de usuario.

  7. Vuelva a generar el proyecto.

Para agregar controles de WPF a un documento u hoja de cálculo en un proyecto de nivel de documento

  1. Abra un proyecto de nivel de documento para Word o Excel.

  2. Agregue un elemento Control de usuario (WPF) al proyecto.

  3. En el Cuadro de herramientas, agregue controles de WPF a la superficie de diseño del control de usuario de WPF.

  4. Compile el proyecto.

  5. Agregue un elemento Control de usuario (es decir, un control de usuario de formularios Windows Forms) al proyecto.

  6. Abra el diseñador para el control de usuario de formularios Windows Forms.

  7. Desde la ficha Controles de usuario de nombreDeProyecto del Cuadro de herramientas, arrastre el control de usuario de WPF hacia el diseñador.

    Visual Studio crea automáticamente un objeto ElementHost que hospeda el control de usuario de WPF en el control de usuario de formularios Windows Forms.

  8. Escriba código que agregue mediante programación el control de usuario de formularios Windows Forms al documento o libro. Para obtener más información, consulte Agregar controles a documentos de Office en tiempo de ejecución.

    Nota

    No puede arrastrar el control de usuario de formularios Windows Forms hacia el documento o la hoja de cálculo en el diseñador.

  9. Recompile el proyecto.

Hospedar controles de WPF mediante la clase ElementHost

Visual Studio proporciona características que le ayudan a usar controles de Windows Forms en las soluciones de Office, pero no proporciona características similares para los controles WPF. Por ejemplo, puede agregar controles de formularios Windows Forms a los documentos y hojas de cálculo en tiempo de diseño si arrastra los controles desde el Cuadro de herramientas o bien en tiempo de ejecución si utiliza métodos auxiliares. Sin embargo, estas herramientas no están disponibles para los controles de WPF.

Los controles de WPF utilizan la clase ElementHost como una capa de la integración entre un control de formularios Windows Forms y los controles de WPF. Al agregar controles de WPF a la solución en tiempo de diseño, Visual Studio genera automáticamente un objeto ElementHost. Para tener acceso a un tutorial que muestra cómo utilizar la clase ElementHost mediante programación, vea Cómo: Hospedar un control de WPF en formularios Windows Forms mediante el uso de ElementHost.

Recursos de WPF

Para obtener más información sobre los problemas de arquitectura y diseño relacionados con el hospedaje de controles de WPF en controles de formularios y formularios Windows Forms, vea los temas siguientes:

Para obtener más información sobre cómo agregar controles de WPF a los controles de formularios y formularios Windows Forms en Visual Studio en tiempo de diseño, vea los temas siguientes:

Vea también

Tareas

Cómo: Agregar un recuadro de acciones a un documento de Word

Cómo: Agregar un recuadro de acciones a un libro de Excel

Cómo: Agregar un panel de tareas personalizado a una aplicación

Cómo: Agregar un área de formulario a un proyecto de complemento de Outlook

Conceptos

Información general sobre controles de formularios Windows Forms en documentos de Office

Otros recursos

Personalización de la interfaz de usuario de Office

Información general sobre recuadros de acciones

Información general sobre los paneles de tareas personalizados

Crear áreas de formulario de Outlook