对于需要10-20个小图标和图像的WPF应用程序来说,将它们作为嵌入式资源存储在程序集中是正确的做法吗?

如果是这样,我如何在XAML中指定图像控件应该从嵌入式资源加载图像?

推荐答案

如果要在多个位置使用图像,那么只需将图像数据加载到内存中一次,然后在所有Image个元素之间共享它就值得了.

为此,请在某个位置创建一个BitmapSource作为资源:

<BitmapImage x:Key="MyImageSource" UriSource="../Media/Image.png" />

然后,在您的代码中使用类似以下内容:

<Image Source="{StaticResource MyImageSource}" />

在我的例子中,我发现我必须将Image.png文件的构建操作设置为Resource,而不仅仅是Content.这将导致图像被携带到编译的程序集中.

.net相关问答推荐

.NET最小API BadRequest响应不返回正文

.NET Core 中的微服务

Npgsql Minimum Pool Size 似乎没有被考虑在内

使用 PowerShell 从文件夹中获取文件名的最快\最好的方法是什么?

使属性只能通过绑定的 Editor(component) 编辑

如何在 Windows 窗体上显示 ClickOnce 版本号

如何在没有抽象基类的情况下强制覆盖后代中的方法?

根源是什么?

.net 服务总线建议?

基于多个字符分隔符拆分字符串

如何在 C# 7 中返回多个值?

在 ToString() 之前判断 null

Await 运算符只能在 Async 方法中使用

.NET 反射的成本是多少?

使用 XmlSerializer 将空 xml 属性值反序列化为可为空的 int 属性

如何保护我的 .NET 程序集免受反编译?

C# - 你如何停止计时器?

如何将 .NET 应用程序编译为本机代码?

通过继承扩展枚举

在构建事件命令行中放置注释的正确方法?