gpt4 book ai didi

c# - UWP - 在类库中加载图像

转载 作者:太空狗 更新时间:2023-10-30 00:30:48 25 4
gpt4 key购买 nike

我有一个托管主菜单的通用 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

我没有得到异常、输出错误或任何东西。它只是卡在那里,应用根本不会加载页面。

我也试过:

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

我缺少类似于 WPF 包 uri 的内容,我可以在其中说明从哪个程序集加载图像。

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

最佳答案

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

关于c# - UWP - 在类库中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33064628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com