C#图像的相对路径将不起作用
我已经研究了十几种不同的解决方案来实现这一点,但我似乎无法正确地执行它。我有一个文件cup.png,我将它放在名为/Images/的子文件夹中,该子文件夹位于我的项目文件夹“/Visual Studio 2013\Projects\PointOfSale\PointOfSale\Images\cup.png”下 IDE的行为就像它可以找到文件,并显示在designer视图和所有内容中,我可以进行编译,但在运行它的那一刻,我得到了一个XamlParseException错误: 类型的第一次机会例外 中出现“System.Windows.Markup.XamlParseException” PresentationFramework.dll其他信息:“提供上的值” “System.Windows.Baml2006.TypeConverterMarkupExtension”引发了 例外情况。'行号'7'和行位置'14' 我到底错过了什么?我已经尝试了所有不同的形式,试图让它发挥作用:C#图像的相对路径将不起作用,c#,wpf,xaml,C#,Wpf,Xaml,我已经研究了十几种不同的解决方案来实现这一点,但我似乎无法正确地执行它。我有一个文件cup.png,我将它放在名为/Images/的子文件夹中,该子文件夹位于我的项目文件夹“/Visual Studio 2013\Projects\PointOfSale\PointOfSale\Images\cup.png”下 IDE的行为就像它可以找到文件,并显示在designer视图和所有内容中,我可以进行编译,但在运行它的那一刻,我得到了一个XamlParseException错误: 类型的第一次机会例外
<ImageBrush ImageSource="pack://application:,,,/PointOfSale;component/cup.png" Opacity="0.1"/>
<ImageBrush ImageSource="/cup.png" Opacity="0.1"/>
<ImageBrush ImageSource="/Images/cup.png" Opacity="0.1"/>
<ImageBrush ImageSource="/PointOfSale;component/Images/cup.png" Opacity="0.1"/>
您有两个选择(您对我的评论的回复没有直接回答)
BuildAction
将图像作为资源包含BuildAction
将图像作为一段内容包含在内“assembly;component/Resources/Images/cup.png”
(请注意,字符串开头需要一个正斜杠)
如果选择第二个选项,则替换图像只需替换图像文件即可。您可以将图像引用为
“/Resources/Images/darkaurora.png”
(请注意,字符串开头需要正斜杠)。您希望图像嵌入二进制文件中,还是作为相对于可执行文件的文件夹中的外部资源?基本上,我需要压缩整个solutions文件夹并将其发送给其他人,我想确保程序可以加载图像文件,因为它是主窗口的背景图像。我需要它从解决方案文件夹中的某个文件夹加载文件,而不需要整个路径(C:\users\…\documents\visual studio\etc…),最后…终于…终于让它与您的建议一起工作,将其更改为BuildAction内容。非常感谢。@JesselEary如果您需要在资源文件中嵌入图像,那么我过去就遇到过这个问题,这应该会有所帮助: