wpf - xaml set window icon
Que signifient les chemins de source d'image dans xaml? (2)
Je regarde le code source du projet sur lequel je travaille dans Visual Studio, et les chemins semblent étranges dans la fenêtre XAML de WPF. Par exemple, le membre de l'icône de l'élément window ressemble à ceci: Icon="/ProjectName;component/icons/ProjectName.ico"
Tout d'abord, que signifie le point-virgule? Cela indique-t-il deux chemins possibles? Cela n'a pas de sens.
Je devine ProjectName;component
représente un chemin, car il n'y a aucun dossier de component
dans mon projet. Dans mon dossier de projet, icons/ProjectName.ico
est l'emplacement de l'icône.
Qu'est-ce que tout cela veut dire?
Cette URI signifie que le fichier image est inclus dans votre projet en tant que contenu. "ProjectName" est le nom de votre projet.
Il s'agit d'un URI de fichier de ressources , sans le préfixe pack://application:,,,
qui est automatiquement ajouté par l'analyseur XAML.
L'URI Pack complet serait
pack://application:,,,/ProjectName;component/icons/ProjectName.ico
et référencer un fichier de ressources nommé ProjectName.ico
dans un sous-dossier d' icons
dans l'assembly référencé ProjectName
. La partie ;component
sépare le nom de l'assembly du chemin du fichier.
Si le fichier de ressources est dans l'assembly local, vous pouvez omettre la pièce d'assemblage référencée et écrire
pack://application:,,,/icons/ProjectName.ico
ou en XAML juste
/icons/ProjectName.ico