我正在尝试使用这样的包uri设置图像源:
<Setter.Value>
<ImageBrush ImageSource="pack://application:,,,/Resources/grid_bg.png"/>
</Setter.Value>
使用这样的Resources.resx文件:
,其中的图片如下:
但我得到的错误是:
我也试过这个:
Pack URI and path not resolving image in WPF
和此:
At design time pack uri is valid, but not at runtime?
和此:
http://csharpsimplified.wordpress.com/2009/02/16/resources-in-wpf-i-binary-resources/
虽然仍然得到与上面相同的错误。有人,因为对宙斯的爱,将我从这种卑鄙,令人沮丧的垃圾中解放出来,我将以赞美和积分回报你的好感。
答案 0 :(得分:2)
在WPF项目中,您通常不会将图像文件作为资源添加到Resource.resx。相反,您只需将它们放入项目的文件夹中,并将其Build Action设置为Resource
,如下所示。
也没有必要编写Pack URI前缀。你可以这样写:
<ImageBrush ImageSource="Resources/grid_bg.png"/>
请注意,如果向Resource.resx添加图像,Visual Studio将为每个图像生成一个带有静态属性的Resources
类。这些属性的类型为System.Drawing.Bitmap
,即WinForms,而不是WPF。