0

我难住了。我正在尝试显示嵌入在另一个程序集中的图像。我已经尝试了几件事,但到目前为止没有任何效果。我确信我错过了一些非常简单的东西。

目前,Xaml 看起来像这样:

<Image>
    <Image.Source>
        <BitmapImage UriSource="pack://application:,,,/Name.Of.Assembly;component/Resources/Icons/icon.png" />
    </Image.Source>
</Image>

我最初的 Xaml 看起来像这样:

<Image Source="pack://application:,,,/Name.Of.Assembly;component/Resources/Icons/icon.png" />

我换了它,希望它会有所作为。(它没有。)

Name.Of.Assembly我在尝试创建图像的项目中有一个参考。在程序集中Name.Of.Assembly,有一个名为 Resources 的目录,其中有一个名为 Icons 的子文件夹,其中包含图像 icon.png。icon.png 上的构建操作设置为Embedded Resource

当我尝试运行时,我得到一个XamlParseException

'Initialization of 'System.Windows.Media.Imaging.BitmapImage' threw an exception'

谁的内在例外是:

'Cannot locate resource 'resources/icons/icon.png'

就像它没有在程序集中寻找资源一样。为什么加载图片失败?我错过了什么?

4

1 回答 1

0

我找到了解决问题的方法:

第一个问题可能是将我的构建操作设置为Embedded Resource而不是Resource. 一旦我改变了这个,我就Build在包含资源的项目上运行了一个,但我没有发现任何不同。

根据Sean Nelson 的建议,我做了一个Clean,然后是一个Rebuild项目。

现在正在显示图像。

于 2014-12-24T16:58:09.243 回答