【问题标题】:WPF Image won't show in Class Library ProjectWPF 图像不会显示在类库项目中
【发布时间】:2014-04-19 14:09:56
【问题描述】:

我无法在运行时在 WPF 窗口上显示图像。但是,它会在设计模式下显示。图像位于图像文件夹中,构建操作设置为内容以及复制到输出到始终复制。输出有什么建议吗?

===编辑====

项目的输出类型是:Class Libray,如果我将其更改为 Window Application,则波纹管工作正常。但是我仍然需要构建它是类库。

第二次尝试

<Image Source="pack://siteoforigin:,,,/Images/Logo2.png" Grid.Row="0"/>

第三次尝试

<Image Source="pack://application:,,,/Images/Logo2.png" Grid.Row="0"/>

另外, 如果我将完整路径放置到它正在工作的图像位置,显然这不是理想的情况:

<Image Source="C:/.../Images/Logo2.png" Grid.Row="0"/>

【问题讨论】:

  • siteoforigin 应该可以工作。交叉检查输出文件夹中是否有图像。
  • 嗯,其实我确实检查过了,图像在那里但仍然没有显示它
  • 它在小应用程序中对我来说很好用。第二种选择。
  • 你可能是对的......但它似乎在我的解决方案中拒绝这样做,而且我不知道如何调试它

标签: c# wpf image


【解决方案1】:

重建您的整个解决方案,然后重试。当您再次尝试时,它可能没有构建包含图像的版本。

同样使用您的第三次尝试,然后为内容构建操作,无需总是复制。

【讨论】:

  • 我已经编辑了一个问题......似乎完整的路径正在工作
  • @Jim 完整路径正在工作,因为您复制了图像,而使用与二进制文件绑定的包。这就是为什么我说将构建操作更改为资源。除非您想在输出目录中公开图像。
  • 我尝试了第 3 个解决方案 byt settin BuildAction : Resources 和 All copy to output options...但是图像没有显示
  • @Jim 你重建了吗?不构建
  • 是的...重建,彻底清理解决方案等
【解决方案2】:

经过多次试验,答案很简单:

对于类库项目,将您的图像构建操作设置为资源并在 Xaml 中获取参考:

<Image Source="/YOURNAMESPACE;component/Images/Logo.png"/>

【讨论】:

    【解决方案3】:

    它不适用于png,但转换为jpg并写入:

    <Image Source="/YOURNAMESPACE;component/Images/Logo.jpg"/>
    

    这对我有用:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-03
      • 2010-12-16
      • 2016-10-14
      • 2019-02-17
      • 2021-10-10
      • 2018-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多