Il est possible de définir une icône afin qu’elle soit utilisée sur chaque fenêtre de l’application actuelle. Pour que je le mette une fois (pas sur chaque fenêtre à la main) ..?
Une bonne référence sur le sujet est ici MSDN . Indique que vous avez une icône pour l’application (icône du bureau) et une pour chaque fenêtre.
Une fenêtre WPF affiche toujours une icône. Lorsqu’aucun paramètre n’est fourni par la définition d’icône, WPF choisit une icône à afficher en fonction des règles suivantes:
Utilisez l’icône de l’assemblage, si spécifié.
Si l’icône de l’assembly n’est pas spécifiée, utilisez l’icône Microsoft Windows par défaut.
Référence du contenu de la communauté:
“Un petit conseil: si vous définissez l’icône de l’application et que vous vous attendez à la voir dans la fenêtre, elle ne s’affichera que si elle est lancée à partir de VS. En mode externe ou sans pièce jointe (ctrl + f5)
Définissez l’icône dans les propriétés du projet dans l’onglet “Application” de la section “Ressources”. Cette icône sera l’icône par défaut pour toutes les fenêtres de l’application.
Sous VS2010, ouvrez le fichier exécutable Propriétés de l’application principale et ouvrez l’onglet Application. Définissez l’icône sous “Icône et manifeste” dans la section Ressources.
Pour voir l’icône lors du débogage sous VS2010, vous devez ouvrir l’onglet Débogage et décocher l’option “Activer le processus d’hébergement Visual Studio”, sinon vous ne verrez que l’icône par défaut sur la plupart des fenêtres.
Je suppose que le code de chargement des icons est confus par le processus d’hébergement et cherche dans “someapplication.vshost.exe” au lieu de “someapplication.exe” pour les icons.
Cela semble être corrigé dans VS2013.
Vous pouvez également essayer ceci pour définir votre propre icône:
private void Page_Loaded_1(object sender, RoutedEventArgs e) { Uri iconUri = new Uri(@"C:\Apps\R&D\WPFNavigation\WPFNavigation\Images\airport.ico", UriKind.RelativeOrAbsolute); (this.Parent as Window).Icon = BitmapFrame.Create(iconUri); }
La raison pour laquelle “Activer le processus d’hébergement Visual Studio” rend l’icône non fonctionnelle est qu’il est démarré à l’aide de vshost.exe, et que le manifeste n’est donc pas lu correctement. Il en va de même si vous avez d’autres éléments dans le manifeste, tels que les contrôles regfree ocx, etc., qui nécessitent le chargement du manifeste.