Partager via


Comment : activer des styles visuels dans une application hybride

Mise à jour : novembre 2007

Cette rubrique montre comment activer des styles visuels Microsoft Windows XP sur un contrôle Windows Forms hébergé dans une application WPF.

Si votre application appelle la méthode EnableVisualStyles, la plupart de vos contrôles Windows Forms utiliseront automatiquement ces styles visuels lorsque votre application sera exécutée sur Microsoft Windows XP. Pour plus d'informations, consultez Rendu des contrôles avec les styles visuels.

Pour une liste de code complète des tâches illustrées dans cette rubrique, consultez Activation des styles visuels dans une application hybride, exemple.

Remarque :

Selon vos paramètres actifs ou votre édition, les boîtes de dialogue et les commandes de menu que vous voyez peuvent différer de celles qui sont décrites dans l'aide. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils.

Activation de styles visuels Windows Forms

Pour activer les styles visuels Windows Forms

  1. Créez un projet d'application WPF nommé HostingWfWithVisualStyles.

  2. Dans l'explorateur de solutions, ajoutez une référence à l'assembly WindowsFormsIntegration nommé WindowsFormsIntegration.dll.

    L'emplacement par défaut pour ce fichier est %programfiles%\Reference Assemblies\Microsoft\Framework\v3.0\WindowsFormsIntegration.dll.

  3. Dans l'explorateur de solutions, ajoutez une référence à l'assembly Windows Forms nommé System.Windows.Forms.dll.

  4. Dans la Boîte à outils, double-cliquez sur l'icône Grid pour placer un élément Grid sur l'aire de conception.

  5. Dans la fenêtre Propriétés, affectez la valeur Auto aux propriétés Height et Width.

  6. Dans l'éditeur de code, ouvrez Window1.xaml.

  7. Insérez le code suivant pour attacher un gestionnaire d'événements à l'événement Loaded.

    <Window x:Class="Window1"
        xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
        Title="HostingWfWithVisualStyles" Height="300" Width="300"
        Loaded="WindowLoaded"
        >
    
    <Window x:Class="HostingWfWithVisualStyles.Window1"
        xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
        Title="HostingWfWithVisualStyles" Height="300" Width="300"
        Loaded="WindowLoaded"
        >
    
  8. Dans l'éditeur de code, ouvrez Window1.xaml.cs.

  9. Insérez le code suivant pour gérer l'événement Loaded.

    Private Sub WindowLoaded(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
    
    private void WindowLoaded(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);
    }
    
  10. Appuyez sur F5 pour générer et exécuter l'application.

    Le contrôle Windows Forms est peint avec des styles visuels.

Désactivation de styles visuels Windows Forms

Pour désactiver des styles visuels, supprimez simplement l'appel de la méthode EnableVisualStyles.

Pour désactiver les styles visuels Windows Forms

  1. Dans l'éditeur de code, ouvrez Window1.xaml.cs.

  2. Commentez l'appel de la méthode EnableVisualStyles.

  3. Appuyez sur F5 pour générer et exécuter l'application.

    Le contrôle Windows Forms est peint avec le style par défaut du système.

Voir aussi

Tâches

Procédure pas à pas : hébergement d'un contrôle Windows Forms dans Windows Presentation Foundation

Concepts

Rendu des contrôles avec les styles visuels

Référence

EnableVisualStyles

System.Windows.Forms.VisualStyles

WindowsFormsHost

Autres ressources

Rubriques Comment relatives à la migration et à l'interopérabilité