Demonstra Passo a passo: Hospedagem de um controle Windows Presentation Foundation composto do Windows Forms

Essa explicação passo a passo demonstra como você pode criar um controle composto WPF e hospedá-lo em formulários e controles Windows Forms ao usar o controle ElementHost.

Nesta explicação passo a passo, você implementará um WPF UserControl que contém dois controles filhos. O UserControl exibe um cone tridimensional (3D). Renderizar objetos 3D é muito mais fácil com o WPF do que com Windows Forms. Portanto, faz sentido hospedar uma classe WPF UserControl para criar gráficos 3D em Windows Forms.

Tarefas ilustradas nesta explicação passo a passo incluem:

For a complete code listing of the tasks illustrated in this walkthrough, see Que hospedam um Windows Presentation Foundation composto Controlarar no Windows Forms Exemplo.

Observação As caixas de diálogo e comandos de menu você vê podem diferir daqueles descritos na ajuda dependendo de suas configurações ativas ou versão. Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu. Para obter mais informações, consulte Configurações do Visual Studio.

Pré-requisitos

Para completar este passo a passo, são necessários os seguintes componentes:

  • Visual Studio 2008.

Criando o UserControl

Para criar o UserControl

  1. Criar um projeto Biblioteca de Controle de Usuário WPF chamado HostingWpfUserControlInWf.

  2. Abra UserControl1.xaml no WPF Designer.

  3. Substitua o código gerado pelo seguinte código.

    Este código define um System.Windows.Controls.UserControl contendo dois controles filho. O primeiro controle filho é um controle System.Windows.Controls.Label; a segunda é um controle Viewport3D que exibe um cone 3D.

Creating the Windows Forms Host Project

To create the host project

  1. Adicione um projeto de aplicativos do Windows chamado WpfUserControlHost à solução. Para obter mais informações, consulte Caixa de Diálogo Add New Project.

  2. No Solution Explorer, acrescente uma referência ao assembly WindowsFormsIntegration, que é chamado WindowsFormsIntegration.dll.

  3. Adicione referências para os seguintes conjuntos de módulos (assemblies) WPF:

    • PresentationCore

    • PresentationFramework

    • WindowsBase

  4. Adicione uma referência para o projeto HostingWpfUserControlInWf.

  5. No Gerenciador de Soluções, defina o projeto WpfUserControlHost como o projeto de inicialização.

Hospedando o Windows Presentation Foundation UserControl

Para hospedar o UserControl

  1. No Windows Forms Designer, abra Form1.

  2. Na janela Propriedades, clique em Events e em seguida, clique duas vezes no evento Load para criar um tratador de eventos.

    O Editor de Código abre o tratador de eventos Form1_Load recém-gerado.

  3. Substitua o código em Form1.cs com o seguinte código.

    The Form1_Load manipulador de eventos cria uma instância de UserControl1 e o adicionapara o ElementHost coleção da controle de controles filho. O controle ElementHost é adicionado à coleção de controles filho do formulário.

    Imports System
    Imports System.Collections.Generic
    Imports System.ComponentModel
    Imports System.Data
    Imports System.Drawing
    Imports System.Text
    Imports System.Windows.Forms
    
    Imports System.Windows.Forms.Integration
    
    Public Class Form1
        Inherits Form
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ' Create the ElementHost control for hosting the
            ' WPF UserControl.
            Dim host As New ElementHost()
            host.Dock = DockStyle.Fill
    
            ' Create the WPF UserControl.
            Dim uc As New HostingWpfUserControlInWf.UserControl1()
    
            ' Assign the WPF UserControl to the ElementHost control's
            ' Child property.
            host.Child = uc
    
            ' Add the ElementHost control to the form's
            ' collection of child controls.
            Me.Controls.Add(host)
        End Sub
    
    End Class
    
  4. Pressione F5 para criar e executar o aplicativo.

Consulte também

Tarefas

Que hospedam um Windows Presentation Foundation composto Controlarar no Windows Forms Exemplo

Conceitos

Demonstra Passo a passo: Hospedagem de um controle Windows Presentation Foundation no Windows Forms

Demonstra Passo a passo: Hospedagem de um controle composto do Windows Forms no Windows Presentation Foundation

Referência

ElementHost

WindowsFormsHost

Outros recursos

WPF Designer

Tópicos de "Como Fazer" migração e interoperabilidade