Todsd
Messages postés3Date d'inscriptionmercredi 9 septembre 2009StatutMembreDernière intervention16 avril 2009
-
15 avril 2009 à 11:11
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 2015
-
16 avril 2009 à 14:13
Bonjour à tous, je suis un petit nouveau en C# et WPF et je dois faire un UserControl un peu compliqué (pour moi bien sûr ).
J'ai une application de départ qui à son ouverture doit regarder dans un répertoire, qui lui est passé en paramètre, et pour chaque dll contenu dans ce répertoire, elle doit chercher une image embedded (nommée splash.png) et créer un bouton pour chaque image.
Je viens donc vous demander de l'aide car je ne sais vraiment pas comment faire pour rechercher cette image dans une dll.
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 15 avril 2009 à 11:31
Salut
La classe Assembly (avec ses méthodes statiques te permettra de trouver l'assembly de ta dll).
Une fois que c'est fait, tu pourras utiliser la méthode GetManifestResourceNames() (toujours de la classe Assembly) afin de voir toutes les ressources de l'assembly, et en l'occurrence, le nom exact de la ressource que tu cherches.
Ensuite, tu devras utiliser GetManifestResourceStream(nom) ce qui te permettra de récupérer le stream et ainsi de créer ton image (je ne sais plus exactement comment on génère une image à partir d'un stream en WPF, mais je sais que ce n'est pas bien compliqué).
Todsd
Messages postés3Date d'inscriptionmercredi 9 septembre 2009StatutMembreDernière intervention16 avril 2009 16 avril 2009 à 13:27
Désolé du temps de réponse, voilà ce que j'ai fait pour mon bouton
foreach (string source in assembly.GetManifestResourceNames())
{
if (source.Contains("splash"))
{
Button b = new Button();
Image myImage = new Image();
myImage.Width = 200;
BitmapImage myBitmapImage = new BitmapImage();
myBitmapImage.BeginInit();
myBitmapImage.StreamSource = assembly.GetManifestResourceStream(source);