gpt4 book ai didi

c# - 使用正确的包 ://URI Format

转载 作者:太空狗 更新时间:2023-10-29 23:07:34 25 4
gpt4 key购买 nike

我有一个 WPF 类库,包含一个包含图像的文件夹“图像”。在 WPF 应用程序中,我不会使用

引用该文件夹中的图像
<Image Name="image" Grid.Row="0" Source="pack://application:,,,/ImageService.dll;Component/Images/image.jpg"/>

图像被标记为“资源”,我也将它添加到类库项目的资源中。经过一番搜索我发现,我必须将 dll 复制到 exe 目录中。

在设计期间图像正确显示。启动可执行文件后,图像的 source 属性为空。输出窗口中没有错误消息和提示。

看来,pack uri 的格式不正确,所以运行时引用了错误的地方。有没有一种方法可以指定相对于可执行文件的程序集名称,使用“....\AssemblyName.dll”或绝对文件系统根目录。

不幸的是,我无法通过代码分配图像源,因为所有内容都通过 XAMLWriter - XAMLReader 从 dll 构造到执行程序集。

最佳答案

您不必将图像复制到输出目录。确保将 Build Action 标记为 Resource 并设置 Copy to Output Directoryfalse

此外,如果 XAML 和图像驻留在同一程序集中,您可以跳过包 URI 中的程序集名称。如果它们位于不同的程序集中,您只需提供程序集名称(从路径中删除 dll)。

<Image Source="pack://application:,,,/ImageService;Component/Images/image.jpg"/>

关于c# - 使用正确的包 ://URI Format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23171601/

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