Partilhar via


Usar controles do WPF em soluções do Office

Embora as soluções criadas usando as ferramentas de desenvolvimento do Office no Visual Studio sejam projetadas para funcionar diretamente com controles do Windows Forms, você também pode usar controles do WPF em suas soluções. O Windows Presentation Foundation (WPF) é uma alternativa ao Windows Forms para criar interfaces do usuário. O WPF usa uma linguagem de marcação chamada XAML (Extensible Application Markup Language) para fornecer novas técnicas para incorporar interface do usuário, mídia e documentos. Para obter mais informações, consulte Visão geral do WPF.

Aplica-se a: as informações neste tópico se aplicam a projetos em nível de documento e projetos de suplemento do VSTO. Confira Recursos disponibilizados pelo aplicativo do Office e pelo tipo de projeto.

Qualquer elemento de interface do usuário que possa hospedar controles do Windows Forms em uma solução do Office também pode hospedar controles do WPF. Eles têm os seguintes elementos:

  • Documentos e planilhas em personalizações no nível do documento.

  • Painéis de ações em personalizações no nível do documento.

  • Painéis de tarefas personalizados em suplementos VSTO.

  • Regiões de formulário em suplementos VSTO para Outlook.

Adicionar controles do WPF a projetos do Office no momento do design

Você não pode adicionar controles do WPF diretamente a elementos de interface do usuário em soluções do Office. Em vez disso, adicione um item Controle de Usuário (WPF) ao seu projeto e use-o como a superfície de design para controles de WPF. Em seguida, adicione o controle de usuário do WPF a um elemento de interface do usuário em seu projeto.

Para adicionar controles de WPF a um painel de ações, painel de tarefas personalizado ou região de formulário

  1. Abra um projeto ao qual você deseja adicionar um painel de tarefas personalizado, um painel de ações ou uma área de formulário.

  2. Adicione um novo item Controle de Usuário (WPF) ao projeto.

  3. Na Caixa de Ferramentas, adicione controles de WPF à superfície de design de controle de usuário do WPF.

    Por padrão, quando o designer de controle de usuário do WPF está aberto, a Caixa de Ferramentas contém apenas controles do WPF.

  4. Compile o projeto.

  5. Adicione um painel de ações, uma região de formulário ou um painel de tarefas personalizado ao seu projeto:

  6. Na guia Controles de Usuário do WPF ProjectName da Caixa de Ferramentas, arraste o controle de usuário do WPF para o designer do painel de ações, da região do formulário ou do painel de tarefas personalizado.

    O Visual Studio cria automaticamente um objeto ElementHost que hospeda o controle de usuário do WPF no elemento de interface do usuário.

  7. Recompile o projeto.

Para adicionar controles de WPF a um documento ou planilha em um projeto no nível do documento

  1. Abra um projeto no nível do documento para Word ou Excel.

  2. Adicione um novo item Controle de Usuário (WPF) ao projeto.

  3. Na Caixa de Ferramentas, adicione controles de WPF à superfície de design de controle de usuário do WPF.

  4. Compile o projeto.

  5. Adicione um item Controle de Usuário (ou seja, um controle de usuário do Windows Forms) ao projeto.

  6. Abra o designer do controle de usuário do Windows Forms.

  7. Na guia Controles de Usuário do WPF ProjectName da Caixa de Ferramentas, arraste o controle de usuário do WPF para o designer.

    O Visual Studio cria automaticamente um objeto ElementHost que hospeda o controle de usuário do WPF no controle de usuário do Windows Forms.

  8. Escreva um código que adicione programaticamente o controle de usuário do Windows Forms ao documento ou planilha. Para obter mais informações, consulte Adicionar controles a documentos do Office em tempo de execução.

    Observação

    Você não pode arrastar o controle de usuário do Windows Forms para o documento ou planilha no designer.

  9. Recompile o projeto.

Hospedar controles do WPF usando a classe ElementHost

O Visual Studio fornece recursos que ajudam você a usar controles do Windows Forms em suas soluções do Office, mas não fornece recursos semelhantes para controles do WPF. Por exemplo, você pode adicionar controles do Windows Forms a documentos e planilhas no momento do design arrastando controles da Caixa de Ferramentas ou no tempo de execução usando métodos auxiliares. No entanto, essas ferramentas não estão disponíveis para controles do WPF.

Os controles do WPF usam a classe ElementHost como uma camada de integração entre um controle ou formulário do Windows Forms e os controles do WPF. Quando você adiciona controles do WPF à sua solução no momento do design, o Visual Studio gera automaticamente um objeto ElementHost para você.

Recursos do WPF

Para obter mais informações sobre problemas de arquitetura e design para hospedar controles do WPF em controles e formulários do Windows Forms, consulte os seguintes tópicos:

Para obter mais informações sobre como adicionar controles do WPF a controles e formulários do Windows Forms no Visual Studio no momento do design, consulte os seguintes tópicos: