以编程方式从嵌入式资源设置 WPF 图像源
本指南解决了从应用程序代码中的嵌入式资源动态设置 WPF 图像源的常见挑战。 一个常见的问题是嵌入资源无法正确显示,即使图像数据似乎存在。
解决方案:打包 URI
解决这个问题的关键在于利用 Pack URI。 这些 URI 提供了一种标准化的方法来引用应用程序程序集中嵌入的资源。
代码示例
这是实现此目的的代码片段:
<code class="language-csharp">BitmapImage logo = new BitmapImage(); logo.BeginInit(); logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png"); logo.EndInit(); image.Source = logo;</code>
解构 Pack URI
让我们分解一下 URI 组件:
pack://application:,,,
:这是 Pack URI 的方案标识符。 请注意 application:
后面的三个逗号 - 这很重要。
/AssemblyName;component/Resources/logo.png
:此部分指定资源位置。
AssemblyName
:将其替换为程序集的实际名称(不带 .dll 扩展名)。component
:此关键字指示资源是主程序集的一部分。/Resources/logo.png
:这是项目资源文件夹中图像文件的路径。 相应调整。处理特殊字符
请记住正确转义 URI 路径部分中的任何保留字符(例如“%”和“?”)。
重要项目设置
确保图像文件(本例中为“logo.png”)在项目属性中将其“构建操作”属性设置为“资源”。
通过执行以下步骤,您可以成功地将图像从嵌入式资源动态加载到 WPF 应用程序中。
以上是如何以编程方式从嵌入式资源设置 WPF 图像源?的详细内容。更多信息请关注PHP中文网其他相关文章!