无法使用pack URI设置ImageSource

时间:2013-08-22 06:26:10

标签: c# wpf xaml

我正在尝试使用这样的包uri设置图像源:

<Setter.Value>
    <ImageBrush ImageSource="pack://application:,,,/Resources/grid_bg.png"/>
</Setter.Value>

使用这样的Resources.resx文件:

enter image description here

,其中的图片如下:

enter image description here

但我得到的错误是:

kill me now

我也试过这个:

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/

虽然仍然得到与上面相同的错误。有人,因为对宙斯的爱,将我从这种卑鄙,令人沮丧的垃圾中解放出来,我将以赞美和积分回报你的好感。

1 个答案:

答案 0 :(得分:2)

在WPF项目中,您通常不会将图像文件作为资源添加到Resource.resx。相反,您只需将它们放入项目的文件夹中,并将其Build Action设置为Resource,如下所示。

enter image description here

也没有必要编写Pack URI前缀。你可以这样写:

<ImageBrush ImageSource="Resources/grid_bg.png"/>

请注意,如果向Resource.resx添加图像,Visual Studio将为每个图像生成一个带有静态属性的Resources类。这些属性的类型为System.Drawing.Bitmap,即WinForms,而不是WPF。