【问题标题】:Image in XAML from another assembly is not loaded (does not appear)来自另一个程序集的 XAML 中的图像未加载(不显示)
【发布时间】:2014-10-23 18:23:50
【问题描述】:

我不明白,来自同一个程序集的图像按预期显示。 来自另一个程序集(引用)的图像似乎未加载(未出现)。

部分代码:

        <Button Command="Play" ToolTip="Execute Macro">
            <Image Source="pack://application:,,,/ParametricStudySharedGui;component/Image/arrowRight32x32.png" Height="24" Width="24"/>
        </Button>

我确实尝试在 App.OnStartup 中添加下一行但没有成功:

    Assembly.Load("ParametricStudySharedGui");

这发生在我的应用程序 MainWindow 中定义为“资源”的图像上(就像来自同一个程序集的图像一样)。

另请注意,图像在 Visual Studio 设计窗口中按预期显示。

我也尝试修改资源路径但没有成功:

<Image Source="/ParametricStudySharedGui;component/Image/arrowRight32x32.png" Height="24" Width="24"/>

知道吗???

【问题讨论】:

  • 这只是一个猜测,但请尝试从文件名(和相应的 URI)中删除空格。我不确定资源名称中是否允许使用空格。
  • @Mike Strobel,我试过了,结果相同。该图标在设计模式下。我将添加有问题的信息。
  • 并且图像在“ParametricStudySharedGui”项目下的“Image”文件夹中?
  • @Mike Strobel,是的。我想它应该被很好地定义,因为它显示在设计窗口中,而且 Visual Studio 或 Resharper 也不会抱怨。我重新启动了 VS 以防万一(我知道这很傻),但它也没有解决我的问题。
  • 有时,我发现 Visual Studio(令人发指)无法正确检测到已添加到项目中的新 WPF 资源。尝试对您的解决方案进行完整的清理然后重建,看看图像是否突然出现。

标签: c# wpf resources .net-assembly


【解决方案1】:

另请注意,图像在 Visual Studio 设计窗口中按预期显示。

在这种情况下,我怀疑 Visual Studio 根本没有重建包含图像的程序集。我发现这种情况时有发生:如果您添加或覆盖图像或其他资源,但您没有更改代码,则新/更新的图像可能不会包含在构建中。

尝试对您的解决方案进行全面清理和重建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多