【问题标题】:Images shows in design mode but not at runtime in WPF .net Core Project图像在设计模式下显示,但在 WPF .net Core 项目中的运行时不显示
【发布时间】:2020-06-23 21:04:18
【问题描述】:

我正在使用 pack uri 来获取图像。它在设计模式下运行良好。图像显示没有问题,但在运行时没有出现任何内容。我在 WPF .net Core 应用程序中工作。基本上,我有两个项目,我正在尝试从另一个项目添加图像(相同的解决方案)。我已经添加了项目的引用并将图像构建操作设置为资源,但仍然没有任何反应。

<Image Source="pack://application:,,,/Test;component/Images/1.png" width="auto" height="auto"/>

这是 mainWindow.xaml 代码。测试是另一个项目的名称。 完全相同的代码在 .Net Framework WPF 应用程序中没有问题。

【问题讨论】:

  • 您是否检查过包含图像的项目的 DLL 是否已复制到您的输出文件夹中?
  • 使用相对包 URI 时会发生什么? “/Test;component/Images/1.png”?当您在代码中设置图像时会发生什么? img.UriSource = new Uri(...)
  • @SvenBardos 是的,Test.dll 被复制到输出目录我也尝试了相对包 uri,但效果相同,并且在带有 Uri 和 BitmapImage 类的代码中设置 image.Source 会引发 System.IO 异常它找不到资源
  • 完全相同的代码在 .net framework WPF 应用程序中没有问题。
  • 也许这有帮助:stackoverflow.com/a/60438642/1136211。另请注意,无需将图像文件复制到输出目录。 Build Action Resource 表示将图像文件编译到程序集中。

标签: c# .net wpf image .net-core


【解决方案1】:

几个月前,我在将 WPF 从 .NET Frw 升级到 .NET Core 时遇到了类似的问题。

确保您在 VS 资源管理器中的资源设置为 Build Action = "Resource"

并使用以下示例中的语法为您的 XAML Image 控件引用它:

pack://application:,,,/Resources/Images/gray.png

【讨论】:

    【解决方案2】:

    如果有人遇到此问题How can I reference a resource (png) from a seperate project in the same solution,请查看此帖子。基本上,您在 .csproj 文件中的项目 sdk 应如下所示: <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop>.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-18
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多