UWP - 在类库中加载图像

Tro*_*sen 4 c# xaml uwp

我有一个通用Windows应用程序,主机主菜单.我想要一个插件架构,其中菜单项是从类库中添加的.

但我似乎无法正确加载图像.我无法ms-appx:///正常工作,当我尝试将图像添加为嵌入式资源时,它会挂起:

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
Run Code Online (Sandbox Code Playgroud)

我没有例外,输出中的错误或任何东西.它只是挂在那里,应用程序根本不加载页面.

我也尝试过:

var bitmap = new BitmapImage(new Uri("/Folder/ImageName-100.png"));
Run Code Online (Sandbox Code Playgroud)

我遗漏了类似于WPF包uri的东西,我可以说明从哪个程序集加载图像.

从类库中向图像添加图像资源的正确(和工作)方式是什么?(或者有没有人有ms-appx的工作示例,其中图像在类库中)

Jef*_*hen 8

我可以重现这个问题.我使用的当前解决方法是将资源流复制到.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;
            }
        }
Run Code Online (Sandbox Code Playgroud)