我刚刚开始了一个非常简单的WPF应用程序,它包含一个主要的大图像和四个较小的图像。
为了协助布局,我在MsPaint中创建了一些包含图像-2
,-1
,0
,+1
和+2
的JPEG只需将它们复制到项目目录的顶层。
XAML片段包含五张图片:
<Image Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="1"
Margin="0,0,0,0" Name="imgPicture" Stretch="Fill" VerticalAlignment="Top"
Source="file:///C:/DAndS/Pax/MyDocs/VS2008/Projects/MyProj/zero.jpg" />
<Image Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="1" Grid.RowSpan="1"
Margin="0,0,0,0" Name="imgPicMinus2" Stretch="Fill" VerticalAlignment="Top"
Source="file:///C:/DAndS/Pax/MyDocs/VS2008/Projects/MyProj/minus2.jpg" />
<Image Grid.Column="2" Grid.Row="4" Grid.ColumnSpan="1" Grid.RowSpan="1"
Margin="0,0,0,0" Name="imgPicMinus1" Stretch="Fill" VerticalAlignment="Top"
Source="file:///C:/DAndS/Pax/MyDocs/VS2008/Projects/MyProj/minus1.jpg" />
<Image Grid.Column="3" Grid.Row="4" Grid.ColumnSpan="1" Grid.RowSpan="1"
Margin="0,0,0,0" Name="imgPicPlus1" Stretch="Fill" VerticalAlignment="Top"
Source="file:///C:/DAndS/Pax/MyDocs/VS2008/Projects/MyProj/plus1.jpg" />
<Image Grid.Column="4" Grid.Row="4" Grid.ColumnSpan="1" Grid.RowSpan="1"
Margin="0,0,0,0" Name="imgPicPlus2" Stretch="Fill" VerticalAlignment="Top"
Source="file:///C:/DAndS/Pax/MyDocs/VS2008/Projects/MyProj/plus2.jpg" />
当我尝试为plus2图像设置source属性时,它会弹出一个对话框,说明:
Property value is not valid.
Details
|
V
The file plus2.jpg is not part of the project or
its 'Build Action' property is not set to 'Resource'.
然而,如果我将文件重命名为plus3.jpg或plus2x.jpg,我就没有这个问题。
为什么会特别抱怨plus2.jpg?
答案 0 :(得分:1)
您之前添加的是否可能已删除plus2.jpg?
您是否有可能在步骤之间没有构建解决方案?
清除src,构建解决方案,将src设置为已知工作映像,构建解决方案,将src设置为非工作映像。
清除所有图像的src,构建解决方案,将所有图像的“构建操作”设置为“无”,构建解决方案,将构建操作设置为“资源”,构建解决方案,设置所有图像的src。 / p>
(最可能)可能损坏的图像,无效调色板的图像,图像以无效格式保存。
尝试<Image.Source> <BitmapImage UriSource="sampleImages/bananas.jpg" /> </Image.Source>
我试图复制这个问题没有运气。我能够使用“添加现有”的图像和我指定src =“file:/// c:...”图像的图像,包含和不包含构建操作集。甚至是项目之外的图像。
我的另一个想法是图像有问题,但我没有添加评论。然而,现在我考虑一下,一旦你设置了src,设计师就会尝试加载图像。如果无法加载图像,则会抛出异常。由于您处于设计时,因此会收到带有“obsure”详细消息的无效属性提示。
如果在运行时加载图像以查看抛出的异常类型,如果有的话,该怎么办。
答案 1 :(得分:0)
不要真的关心它。创建WPF应用程序时VS2008有几十个这样的警告,其中大部分都在构建后消失。如果应用程序启动并正在运行 - 请不要管它。我亲自为VS2008中的各种WPF相关错误安装了大约10-15个修补程序。 VS2010要好得多。
除了将图像文件包含在资源中可能更好 - 您将它们添加到项目中(添加现有项目),然后检查构建操作是否设置为资源。 (在Solution Explorer中右键单击该文件,然后选择Properties)