Icônes de boîte à outils et ressources incorporées
Mise à jour : novembre 2007
Cette rubrique explique comment spécifier une icône de boîte à outils personnalisée pour les contrôles WPF (Windows Presentation Foundation) à l'aide de ressources incorporées.
Convention d'affectation de noms
Pour associer une icône de boîte à outils à un contrôle personnalisé, vous devez respecter une convention d'affectation de noms. En effet, le Concepteur Windows Presentation Foundation (WPF) pour Visual Studio recherche un fichier image correctement nommé dans les ressources incorporées de l'assembly du contrôle.
Dans le plus simple des cas, vous ajoutez le fichier image de l'icône de boîte à outils en tant que ressource incorporée au projet de votre contrôle. Nommez-le NomContrôle.Extension. Le Concepteur WPF recherche une ressource dont le nom de fichier correspond au nom de type du contrôle.
Le tableau ci-dessous répertorie les types de fichiers pris en charge pour les icônes de boîte à outils.
XAML
BMP
GIF
JPG
JPEG
PNG
Pour plus d'informations, consultez Procédure pas à pas : création d'une icône de boîte à outils personnalisée pour un contrôle.
Remarque : |
---|
Le Concepteur WPF utilise un algorithme de correspondance pour rechercher la meilleure ressource pour une icône de boîte à outils. Si un fichier de ressources n'est pas du code XAML valide ou un fichier image valide, la correspondance suivante est utilisée jusqu'à ce qu'un élément valide soit trouvé. Les images XAML ne peuvent pas contenir de références à des types non-système. |
Nom à correspondance complète
La convention d'affectation de noms des icônes de boîte à outils prend en charge les noms de ressources à correspondance complète. En ce qui concerne ces noms, vous incluez l'espace de noms dans le nom d'icône de boîte à outils en respectant la convention suivante : EspaceNoms.NomContrôle.Icon.Extension. Prenons l'exemple d'un contrôle nommé ProseControl et défini dans l'espace de noms Proseware.Core.Controls. Pour ce contrôle, une icône de boîte à outils PNG à correspondance complète serait nommée Proseware.Core.Controls.ProseControl.Icon.png.
Pour les ressources, Visual Studio convertit automatiquement les dossiers en espaces de noms. Par conséquent, vous pouvez créer une structure de dossiers dans le projet qui est identique à l'espace de noms. Notez que les dossiers affectent l'espace de noms qui contient les ressources incorporées. Dans l'exemple précédent, si le fichier image est situé dans un sous-dossier nommé Icons, le Concepteur WPF recherche une icône de boîte à outils nommée Proseware.Core.Controls.Icons.ProseControl.Icon.png.
Si une image est introuvable dans le même espace de noms que le contrôle, le Concepteur WPF recherche une correspondance partielle.
Nom à correspondance partielle
Si le Concepteur WPF ne trouve pas de ressource à correspondance complète, il recherche des correspondances partielles dans les ressources incorporées de l'assembly. Dans l'exemple précédent, le Concepteur WPF recherche d'abord un fichier qui porte le nom à correspondance complète Proseware.Core.Controls.ProseControl.Icon.Extension. Si cette recherche échoue, le Concepteur WPF ignore l'espace de noms et effectue une recherche en fonction du nom de type seulement. Dans cet exemple, le Concepteur WPF recherche des fichiers dans les ressources nommés ProseControl.Icon.Extension. Si cette recherche échoue, le Concepteur WPF lance une recherche à partir de l'espace de noms par défaut. Dans cet exemple, le Concepteur WPF recherche des fichiers nommés Proseware.ProseControl.Icon.Extension.
Tailles d'image multiples
Le nom du fichier image de l'icône de boîte à outils peut inclure un champ « Icon » facultatif. Cette sous-chaîne permet de spécifier plusieurs tailles d'image pour l'icône.
Pour le contrôle ProseControl de l'exemple précédent, le Concepteur WPF recherche les images suivantes dans les ressources et sélectionne la meilleure correspondance pour la taille.
Proseware.Core.Controls.ProseControl.Icon.Large.png
Proseware.Core.Controls.ProseControl.Icon.Medium.png
Proseware.Core.Controls.ProseControl.Icon.ReallyLarge.png
Vous pouvez également omettre le point qui suit « Icon » afin de spécifier les noms de fichiers suivants.
Proseware.Core.Controls.ProseControl.IconLarge.png
Proseware.Core.Controls.ProseControl.IconMedium.png
Proseware.Core.Controls.ProseControl.IconReallyLarge.png
Le Concepteur WPF sélectionne l'icône de boîte à outils en fonction des règles suivantes.
Code XAML vectoriel.
Correspondance exacte sur la taille dans les deux dimensions.
Correspondance la plus proche en fonction de la taille et des proportions.
La taille d'image recommandée pour les formats de fichier bitmap est de 64 pixels par 64 pixels.
Le Concepteur WPF et Expression Blend utilisent des tailles d'image différentes pour l'icône de boîte à outils. En effet, Expression Blend utilise le format 24 x 24 pour la grande taille d'icône et 12 x 12 pour la petite taille, tandis que le Concepteur WPF utilise le format 16 x 16.
Si la taille souhaitée par l'hôte est de 64 x 64 pixels et que Proseware.Core.Controls.ProseControl.Icon.Large.png est la meilleure correspondance en taille et en proportions, ce fichier est utilisé. Toutes les images de l'assembly sont examinées. Si deux images présentent une taille et des proportions identiques, l'hôte détermine laquelle il utilise.
Voir aussi
Tâches
Procédure pas à pas : création d'une icône de boîte à outils personnalisée pour un contrôle