[WPF] Ajouter une image comme ressource intégrée à l’exécutable

Cette méthode permet d’éviter l’oubli du ou des fichiers des images/icônes utilisés dans le répertoire de l’application lors de son déploiement.

La procédure à suivre est la suivante :

1. Ajouter l’image à la solution via un clic droit soit sur le projet, soit sur un dossier appartenant à celui-ci et destiné à contenir les différentes images.

Sélectionner Ajouter > Élément existant. A partir de la boite de dialogue qui s’ouvre, sélectionner l’image à ajouter.

2. Dans les propriétés de l’image ajoutée, vérifier que l’option « Action de génération » est bien « Resource ».

3. Dans le code XAML de la fenêtre qui doit utiliser cette image, ajouter celle-ci dans les ressources en utilisant le code suivant :

où
Key : est la clé de l’image. La ressource sera utilisable via cette clé.
UriSource : est le chemin du fichier image.

4. Utiliser l’image dans un contrôle Image ou comme icône dans un bouton par exemple. Le code suivant illustrant la méthode à utiliser pour y parvenir :

WPF – La correction orthographique en bref

Les composants de saisie de texte (TextBox et RichTextBox) possèdent la propriété SpellCheck qui permet d’activer la correction orthographique.
Si cette propriété est activée (donc que sa valeur vaut true), les éventuelles erreurs détectées dans le texte contenu dans ces composants seront soulignées comme dans un éditeur tel que Microsoft Word. D’ailleurs le dictionnaire utilisé pour les propositions de correction est une copie de celui de cet éditeur. Il n’est toutefois pas obligatoire que Microsoft Word soit installé sur la machine pour pouvoir utiliser cette fonctionnalité. Le code suivant va permettre d’activer cette fonctionnalité pour la langue française dans la déclaration XAML d’un TextBox :

SpellCheck.IsEnabled="True" Language "fr-FR"

Ce qui donnera comme résultat dans une petite application d’exemple :

WPF - Traduction orthographique - 1

Voici donc encore un des nombreux avantages du WPF maintenant qu’il est de plus en plus important d’avoir des applications multilingues.