PowerShell 7.X : comment créer une interface graphique WPF avec le style Windows 11 ?
Sommaire
I. Présentation
Avec Windows PowerShell, vous avez découvert comment créer des interfaces graphiques avec PowerShell WPF et Windows Forms grâce à nos articles précédents (que nous vous recommandons de lire pour une meilleure compréhension de cet article).
Aujourd’hui, nous allons apprendre à créer des applications WPF avec PowerShell 7.x (appelé aussi PowerShell Core). Avec la récente mise à jour de PowerShell en version 7.5, les composants .NET en version 9 ont apporté beaucoup de changement aux applications WPF… C’est ce que nous allons découvrir dans ce tutoriel.
- Comment créer une application graphique avec PowerShell et WPF ?
- PowerShell : comment créer une interface graphique avec Windows Forms ?
II. Les prérequis
PowerShell 7.5 est la version multiplateforme de Windows PowerShell. Son installation est possible sur l’ensemble des plateformes MacOs, Linux et Windows, bien sûr. En complément, vous devez aussi installer .NET Desktop Runtime en version 9 sur votre machine.
A. Installer PowerShell Core avec WinGet
Je pense que vous connaissez le gestionnaire paquets de Windows ? Sinon, je vous invite à le découvrir dans cet article. Il permet d’installer des applications en ligne de commande.
- Pour rechercher PowerShell, utiliser la ligne de commande suivante :

Nous remarquons que nous avons la version 7.5 et même la version en preview 7.6.0.4 de PowerShell Core disponibles dans les dépôts.
- Pour installer PowerShell, utiliser la ligne de commande suivante :

B. Installer .NET Desktop Runtime 9 avec WinGet
Maintenant, passons à l’installation du .NET Desktop Runtime en version 9, toujours avec WinGet.

Nous disposons désormais de tous les prérequis pour entrer dans le vif du sujet : créer des applications WPF avec un thème moderne, sans recourir à des bibliothèques tierces comme MahApps ou WPF UI, en utilisant cette fois le thème Fluent.

Pour découvrir les contrôles ainsi que les styles utilisés dans Fluent, Microsoft a créé une application Galerie WPF disponible dans le Store de Windows.
III. L’application WPF avec PowerShell 7.5
A. La partie XAML
Nous allons utiliser à nouveau la même application que nous avions créée précédemment avec Mahapps ou MaterialDesign, mais cette fois en PowerShell 7.5 avec le thème Fluent de Windows 11.
Quels changements pour prendre en compte le nouveau thème Fluent ? Pas grand-chose en fait, regardons de plus près le XAML.
L’ajout de la propriété au contrôle , il accepte trois paramètres :
- : thème blanc
- : thème noir
- : récupère le thème actif du système.
- L’ajout de la propriété au contrôle avec la valeur , ce qui va lui permettre de récupérer la couleur de la valeur de l’accent au sein du système d’exploitation.
Pour une documentation plus complète sur les styles ainsi que les accents, je vous recommande le site Learn Microsoft pour avoir l’ensemble des paramètres.
B. La partie PowerShell
Et le code PowerShell ! Pour faire simple, j’ai décidé d’utiliser un seul fichier. J’ai décidé d’ajouter une vérification de la version de PowerShell. Ainsi, si la version n’est pas du PowerShell 7.5, alors le script s’arrête avec un message d’erreur.
Cette vérification est effectuée via le code suivant :
Pour ce qui est du corps du script PowerShell, voici son contenu en intégralité :

Quels sont les changements lors de l’utilisation de PowerShell 7.X ?
Nous avons chargé l’ensemble de la fenêtre ainsi que les contrôles dans une Hashtable dans notre variable .
Découvrez ci-dessous un aperçu de notre application !

C. Changement de thème
Pour changer de thème, il suffit de changer la propriété ThemeMode de l’objet Window. Pour cela, ce code PowerShell nous permet de changer à la volée le thème de l’application.
Découvrez ceci avec l’animation suivante :

IV. Conclusion
En suivant ce tutoriel, vous devriez être en mesure de migrer vos applications de Windows PowerShell WPF à PowerShell Core ! La seule limite qui existe maintenant reste votre imagination.
Si vous avez des questions, pensez à commenter cet article.