为什么我的图像找不到资源



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

目前,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 的子文件夹,其中包含图像图标.png。 图标上的生成操作.png设置为"嵌入的资源"。

当我尝试跑步时,我得到一个XamlParseException

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

其内部例外是:

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

就像它没有在程序集中查找资源一样。 为什么无法加载图像? 我错过了什么?

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

第一个问题可能是将我的构建操作设置为 Embedded Resource 而不是 Resource . 更改此设置后,我对包含资源的项目运行了Build,但我没有注意到任何不同。

根据肖恩·尼尔森的建议,我做了一个Clean,然后对这个项目进行了Rebuild

现在正在显示图像。

最新更新