UWP – Charger une image dans la bibliothèque de classes

J’ai une application Windows universelle qui héberge un menu principal. Je veux une architecture de plugin, où les éléments de menu sont ajoutés à partir de bibliothèques de classes.

Mais je n’arrive pas à charger correctement les images. Je ne parviens pas à faire fonctionner ms-appx:/// , et lorsque j’essaie d’append les images en tant que ressource intégrée, il se bloque:

 var assembly = typeof(CookModule).GetTypeInfo().Assembly; using (var imageStream = assembly.GetManifestResourceStream("My.Namespace.Folder.ImageName-100.png")) using (var raStream = imageStream.AsRandomAccessStream()) { var bitmap = new BitmapImage(); bitmap.SetSource(raStream); //<- Hangs here 

Je ne reçois aucune exception, aucune erreur dans la sortie ou quoi que ce soit. Il ne fait que restr, et l’application ne charge tout simplement pas la page.

J’ai aussi essayé:

 var bitmap = new BitmapImage(new Uri("/Folder/ImageName-100.png")); 

Il me manque quelque chose de similaire au paquet WPF uri’s où je peux dire à partir de quel assemblage charger l’image.

Quelle est la manière correcte (et efficace) d’append une ressource image à une page à partir d’une bibliothèque de classe? (Ou est-ce que quelqu’un a un exemple de travail de ms-appx où l’image est dans une bibliothèque de classes)

Je peux reproduire ce problème. La solution actuelle que j’ai utilisée consiste à copier le stream de ressources dans un stream de mémoire .NET.

  var assembly = typeof(CookModule).GetTypeInfo().Assembly; using (var imageStream = assembly.GetManifestResourceStream("UWP.ClassLibrary.210644575939381015.jpg")) using (var memStream = new MemoryStream()) { await imageStream.CopyToAsync(memStream); memStream.Position = 0; using (var raStream = memStream.AsRandomAccessStream()) { var bitmap = new BitmapImage(); bitmap.SetSource(raStream); display.Source = bitmap; } }