Compartir a través de


Procedimiento para habilitar estilos visuales en una aplicación híbrida

Este tema muestra cómo habilitar los estilos visuales en un control de Windows Forms alojado en una aplicación basada en WPF.

Si su aplicación llama al método EnableVisualStyles, la mayoría de sus controles de Windows Forms utilizarán automáticamente los estilos visuales. Para obtener más información, consulte Representar controles con estilos visuales.

Para obtener una lista de código completa de las tareas ilustradas en este tema, consulte Enabling Visual Styles in a Hybrid Application Sample (Ejemplo de cómo habilitar estilos visuales en una aplicación híbrida).

Habilitar estilos visuales de Windows Forms

Para habilitar estilos visuales de Windows Forms

  1. Cree un proyecto de aplicación WPF denominado HostingWfWithVisualStyles.

  2. En el Explorador de soluciones, agregue referencias a los ensamblados siguientes.

    • WindowsFormsIntegration

    • System.Windows.Forms

  3. En el cuadro de herramientas, haga doble clic en el icono Grid para colocar un elemento Grid en la superficie de diseño.

  4. En la ventana Propiedades, establezca el valor de las propiedades Height y Width en Auto.

  5. En la vista de diseño o en la vista XAML, seleccione el Window.

  6. En la ventana Propiedades, haga clic en la pestaña Eventos.

  7. Haga doble clic en el evento Loaded.

  8. En MainWindow.xaml.vb o MainWindow.xaml.cs, inserte el siguiente código para controlar el 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. Presione F5 para compilar y ejecutar la aplicación.

    El control Windows Forms está pintado con estilos visuales.

Deshabilitar estilos visuales de Windows Forms

Para desactivar los estilos visuales, basta con eliminar la llamada al método EnableVisualStyles.

Para deshabilitar estilos visuales de Windows Forms

  1. Abra MainWindow.xaml.vb o MainWindow.xaml.cs en el Editor de código.

  2. Comente la llamada al método EnableVisualStyles.

  3. Presione F5 para compilar y ejecutar la aplicación.

    El control Windows Forms está pintado con el estilo predeterminado del sistema.

Vea también