Je me suis enseigné WinForms récemment, mais je suis maintenant passé à WPF, plus moderne, qui est tellement mieux!
La seule chose à laquelle je suis confus en ce moment est d'utiliser des images. Maintenant, dans WinForms, vous l'avez importé en tant que ressource et l'image continuerait à fonctionner une fois compilée dans le dossier/bin/Debug.
Je n'arrive pas à comprendre comment faire fonctionner cela dans WPF. Lorsque je lance l'application, l'image ne se charge pas, car l'image est enregistrée dans /Projects/AppName/images/
et l'application est compilée dans /Projects/AppName/bin/Debug
lorsque je l'exécute en mode débogage.
Dois-je simplement faire une copie de mon dossier Images et le placer là où l'application est compilée? Ou est-il un autre moyen. Voici mon code qui affiche mon image:
<Image Width="300">
<Image.Source>
<BitmapImage DecodePixelWidth="300" UriSource="/images/jamsnaps-dark.png" />
</Image.Source>
</Image>
images
) dans votre projet Visual Studio.Build Action
sur Resource
(dans la fenêtre Propriétés, voir la deuxième image dans cette réponse ).Puis écrivez la propriété UriSource
comme vous l'avez déjà fait:
UriSource="/images/jamsnaps-dark.png"
Cet URI est effectivement un URI du pack de fichiers de ressources , où le préfixe est automatiquement ajouté par WPF.
Deux options :
1) Allez dans bin/Debug et dans votre dossier d’application par ../../ puis vers votre image.
<Image>
<Image.Source>
<BitmapImage UriSource="../../images/jamsnaps-dark.png" />
</Image.Source>
</Image>
2) Compilez vos images en tant que contenu à partir des propriétés du menu contextuel du fichier image, puis une fois compilées, elles seront placées dans debug . Je ne me souviens pas si vous devez également leur dire de copier local également dans les propriétés (je ne suis pas près d'un ordinateur pour le moment, donc je ne peux pas vérifier.
Include in Project
.L'action de construction doit être définie sur Resource
par défaut.
Vous pouvez alors commencer à utiliser le chemin d’image par rapport à la racine, par exemple. images/text.jpg
si vous le mettez dans un dossier appelé images
.