Compartir a través de


Usar controles WPF en soluciones de Office

Aunque las soluciones creadas mediante las herramientas de desarrollo de Office en Visual Studio están diseñadas para trabajar directamente con controles de Windows Forms, también puede usar controles WPF en sus soluciones. Windows Presentation Foundation (WPF) es una alternativa a Windows Forms para diseñar interfaces de usuario. WPF usa un lenguaje de marcado denominado Lenguaje de marcado extensible de aplicaciones (XAML) para proporcionar nuevas técnicas para incorporar la interfaz de usuario, los medios y los documentos. Para obtener más información, vea Información general sobre WPF.

Se aplica a: La información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO. Consulte Características disponibles por aplicación de Office y tipo de proyecto.

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

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

  • Paneles de acciones en las personalizaciones de nivel de documento.

  • Paneles de tareas personalizados en complementos de VSTO.

  • Áreas del formulario en complementos de VSTO para Outlook.

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

No se pueden 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 úselo como superficie de diseño para controles WPF. A continuación, agregue el control de usuario de WPF a un elemento de interfaz de usuario del proyecto.

Para agregar controles WPF a un panel de acciones, un panel de tareas personalizado o un á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 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 solo contiene controles WPF.

  4. Compile el proyecto.

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

  6. Desde la pestaña ProjectNameControles de usuario de WPF del Cuadro de herramientas, arrastre el control de usuario de WPF al diseñador para el panel de acciones, la región del formulario o el panel de tareas personalizado.

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

  7. Recompile el proyecto.

Para agregar controles WPF a un documento o 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 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 Windows Forms) al proyecto.

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

  7. Desde la pestaña ProjectNameControles de usuario de WPF del Cuadro de herramientas, arrastre el control de usuario de WPF al diseñador.

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

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

    Nota:

    No se puede arrastrar el control de usuario de Windows Forms al documento o hoja de cálculo del diseñador.

  9. Recompile el proyecto.

Hospedar controles 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 Windows Forms a documentos y hojas de cálculo en tiempo de diseño arrastrando controles desde el Cuadro de herramientas o en tiempo de ejecución mediante métodos auxiliares. Sin embargo, estas herramientas no están disponibles para los controles WPF.

Los controles WPF usan la ElementHost clase como una capa de integración entre un control o formulario de Windows Forms y los controles WPF. Al agregar controles WPF a tu solución en tiempo de diseño, Visual Studio genera automáticamente un objeto ElementHost.

Recursos de WPF

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

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