c# - WPF 窗口中的图像在通过反射启动时抛出异常

标签 c# .net wpf image reflection

我有一个 WPF 应用程序,我在其中将图像作为资源添加到项目中(不是来自项目设置,就像第二个答案是如何做到的 here ),所以它们在一个文件夹下。我在 xaml 中这样使用它们:

<Image Width="32" Height="32" Source="/Images/Effect.png" />

当我从 visual studio 或 explorer 手动运行程序时,图像显示正常,没有错误等。

但是当我通过反射从另一个应用程序运行它时,它会在 visual studio 中打印这些异常:

System.Windows.Data Error: 6 : 'TargetDefaultValueConverter' converter failed to convert value '/Images/Effect.png' (type 'String'); fallback value will be used, if available. BindingExpression:Path=EffectIcon; DataItem='Node' (HashCode=34743541); target element is 'Image' (Name=''); target property is 'Source' (type 'ImageSource') IOException:'System.IO.IOException: Cannot locate resource 'images/effect.png'.

最后,应用程序启动正常,但所有图像都丢失了。

知道如何解决这个问题吗?

我应该以不同的方式绑定(bind)图像吗?

最佳答案

问题可能是图像将从您通过反射实例化模块的程序集中搜索。解决此问题的一种可能性是,您为图像分配完整路径,包括程序集名称。像这样的东西:

Source="/AssemblyName;component/image/effect.png"

关于c# - WPF 窗口中的图像在通过反射启动时抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5807310/

相关文章:

c# - TreatControlCAsInput 问题。这是一个错误吗?

c# - 如何使用 linq 返回一个数组中与另一个数组的整数属性不匹配的整数?

C#:如何将粗体日期添加到 RichTextBox 中,但继续以常规字体(不是粗体)书写

javascript - 将日期发送到 wcf 休息服务

c# - 从 strip "Could not load file or assembly ' System.Collections.Immutable' 获取响应时出错

c# - 如何在 ViewModel WPF、MVVM 之间传递数据

C# 获取提交表单页面的URL

c# - HttpBasicAuthenticator 身份验证问题

c# - WPF:数据绑定(bind)对于模态对话框是否重要?

c# - 如何更改 DataGrid Mahapp 中选定行的颜色