124 votes

Définition d'une icône pour une application wpf (VS 08)

Avant d'aller plus loin, j'aimerais préciser que j'ai essayé les solutions suivantes :

http://stackoverflow.com/questions/320677/how-do-i-set-the-icon-for-my-application-in-visual-studio-2008

http://stackoverflow.com/questions/198848/set-application-icon-from-resources-in-vs-05

J'essaie de définir une icône pour mon application.

AFAIK, j'ai potentiellement besoin de 3 images ?

  • 1 image est l'image réelle dans l'explorateur en cliquant sur le .exe (vignette pour l'exe).
  • 1 image (minuscule) dans le coin supérieur gauche (16 x 16 ? Je ne suis pas tout à fait sûr)
  • 1 image dans le dock du menu de démarrage, à gauche de l'application (peut-être 32x32 ? encore une fois pas sûr)

Donc c'est bien.

J'ai maintenant sélectionné une icône. Comment puis-je l'utiliser dans l'une des situations ci-dessus ?

J'ai essayé de l'ajouter dans les ressources, mais rien ne semble se passer. Je suis cette première solution SO,

" Tout d'abord, allez à Resource View (dans le menu : View --> Other Window --> Resource View). Ensuite, dans Resource View, naviguez dans les ressources, s'il y en a. S'il existe déjà une ressource de type Icône, ajoutée par Visual Studio, alors ouvrez-la et modifiez-la. Sinon, faites un clic droit et sélectionnez Ajouter une ressource, puis ajoutez une nouvelle icône."

La vue des ressources est vide, et je ne peux pas faire de clic droit dans cette vue.

Si je clique avec le bouton droit de la souris sur la solution > propriétés > ressources > je peux ajouter l'image de l'icône, mais elle n'apparaît pas dans les emplacements indiqués ci-dessus. (ou à tout autre endroit que je peux voir)

1) Comment puis-je définir l'icône de l'application pour une application WPF ?

162voto

742 Points 1005

En supposant que vous utilisez VS Express et C#. L'icône est définie dans la page des propriétés du projet. Pour l'ouvrir, faites un clic droit sur le nom du projet dans l'explorateur de solutions. Dans la page qui s'ouvre, il y a un onglet Application, dans cet onglet vous pouvez définir l'icône.

94voto

astreal Points 1161

La réponse de 742 fonctionne assez bien. Mais comme souligné dans les commentaires, l'icône générique est toujours affichée lorsqu'elle est exécutée à partir du débogueur VS.

Si vous voulez avoir votre icône même lorsque vous appuyez sur F5, vous pouvez ajouter dans la MainWindow :

<Window x:Class="myClass"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Icon="./Resources/Icon/myIcon.png">

où vous indiquez le chemin vers votre icône : l'icône peut être *.png, *.ico..

De cette façon, vous n'avez même pas à le définir dans les propriétés de l'application (même si je conseille de définir les deux).

3voto

Marvin Thobejane Points 356

Après avoir obtenu un XamlParseException avec un message : Fournir une valeur à 'System.Windows.Baml2006.TypeConverterMarkupExtension'. avec les solutions données, la mise en place de l'icône de manière programmatique a fonctionné pour moi. Voici comment j'ai procédé :

  1. Mettez l'icône dans un dossier < icon_path > dans le répertoire du projet
  2. Imiter le chemin du dossier < icon_path > dans la solution
  3. Ajoutez un nouvel élément (votre icône) dans le dossier de la solution que vous avez créé.
  4. Ajoutez le code suivant dans le code arrière de la fenêtre WPF :

Icon = new BitmapImage(new Uri("< icon_path >", UriKind.Relative)) ;

Veuillez m'informer si vous rencontrez des difficultés pour mettre en œuvre cette solution afin que je puisse vous aider.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X