我有一个项目,我从xml文件加载相对图像Uri。 我正在加载这样的图像:
if (child.Name == "photo" &&
child.Attributes["href"] != null &&
File.Exists(child.Attributes["href"].Value))
{
Image image = new Image();
image.Source = new BitmapImage(new Uri(child.Attributes["href"].Value, UriKind.RelativeOrAbsolute));
images.Add(image);
}
“child”对象是一个看起来像这个
的XmlNode<photo name="info" href="Resources\Content\test.png"/>
在调试过程中,似乎图像中充满了实际图像,但是当我想以任何方式看到图像时,它都没有显示任何内容。 奇怪的是当我在我的项目中包含图像它确实有效时,我不想这样做,因为我使用xml文件的意义是因为你必须在改变之后重建程序而丢失它
答案 0 :(得分:1)
不是完美的解决方案,但它的作品仍然是,我正在将相对的Uri转换为绝对的这样的
if (child.Name == "photo" &&
child.Attributes["href"] != null &&
File.Exists(Environment.CurrentDirectory + child.Attributes["href"].Value))
{
Image image = new Image();
image.Source = new BitmapImage(new Uri(Environment.CurrentDirectory + child.Attributes["href"].Value, UriKind.RelativeOrAbsolute));
images.Add(image);
}
只需更改xml中的所有Uri即可获得前导斜杠。
答案 1 :(得分:0)
嗯可以是这个简单的当前文件夹问题。 VS检查项目/ Resources / Content /文件夹下的资源,并检查项目/ bin / Debug / Resources / Content /文件夹下的资源。