Compartilhar via


Como habilitar estilos visuais em um aplicativo híbrido

Este tópico mostra como habilitar estilos visuais em um controle do Windows Forms hospedado em um aplicativo baseado em WPF.

Se o aplicativo chamar o método EnableVisualStyles, a maioria dos controles do Windows Forms usará automaticamente estilos visuais. Para obter mais informações, consulte Controles de renderização com estilos visuais.

Para obter uma listagem de código completa das tarefas ilustradas neste tópico, consulte Habilitando estilos visuais em umde exemplo de aplicativo híbrido.

Habilitando estilos visuais do Windows Forms

Para habilitar estilos visuais do Windows Forms

  1. Criar um projeto de aplicativo WPF chamado HostingWfWithVisualStyles.

  2. No Gerenciador de Soluções, adicione referências aos conjuntos a seguir.

    • WindowsFormsIntegration

    • System.Windows.Forms

  3. Na Caixa de Ferramentas, clique duas vezes no ícone Grid para colocar um elemento Grid na superfície de design.

  4. Na janela Propriedades, defina os valores das propriedades Height e Width para Auto.

  5. No modo de exibição Design ou XAML, selecione o Window.

  6. Na janela Propriedades, clique na guia Eventos.

  7. Clique duas vezes no evento Loaded.

  8. Em MainWindow.xaml.vb ou MainWindow.xaml.cs, insira o código a seguir para manipular o evento Loaded.

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        // Comment out the following line to disable visual
        // styles for the hosted Windows Forms control.
        System.Windows.Forms.Application.EnableVisualStyles();
    
        // Create a WindowsFormsHost element to host
        // the Windows Forms control.
        System.Windows.Forms.Integration.WindowsFormsHost host =
            new System.Windows.Forms.Integration.WindowsFormsHost();
    
        // Create a Windows Forms tab control.
        System.Windows.Forms.TabControl tc = new System.Windows.Forms.TabControl();
        tc.TabPages.Add("Tab1");
        tc.TabPages.Add("Tab2");
    
        // Assign the Windows Forms tab control as the hosted control.
        host.Child = tc;
    
        // Assign the host element to the parent Grid element.
        this.grid1.Children.Add(host);
    }
    
    Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
        ' Comment out the following line to disable visual
        ' styles for the hosted Windows Forms control.
        System.Windows.Forms.Application.EnableVisualStyles()
    
        ' Create a WindowsFormsHost element to host
        ' the Windows Forms control.
        Dim host As New System.Windows.Forms.Integration.WindowsFormsHost()
    
        ' Create a Windows Forms tab control.
        Dim tc As New System.Windows.Forms.TabControl()
        tc.TabPages.Add("Tab1")
        tc.TabPages.Add("Tab2")
    
        ' Assign the Windows Forms tab control as the hosted control.
        host.Child = tc
    
        ' Assign the host element to the parent Grid element.
        Me.grid1.Children.Add(host)
    
    End Sub
    
  9. Pressione F5 para compilar e executar o aplicativo.

    O controle do Windows Forms é pintado com estilos visuais.

Desabilitando estilos visuais do Windows Forms

Para desabilitar estilos visuais, basta remover a chamada para o método EnableVisualStyles.

Para desabilitar estilos visuais do Windows Forms

  1. Abra MainWindow.xaml.vb ou MainWindow.xaml.cs no Editor de Código.

  2. Comente a chamada para o método EnableVisualStyles.

  3. Pressione F5 para compilar e executar o aplicativo.

    O controle dos Windows Forms é pintado com o estilo padrão do sistema.

Consulte também