我正在尝试使用xml创建显示所有图像的简单任务。但我完全不能完成这项任务。请帮帮我...
我的xaml代码:
<ScrollViewer>
<ListBox x:Name="imglist" Loaded="imglist_Loaded">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Image x:Name="img" Source="{Binding ImageUrl}" Width="160" Height="160"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
我的xml文件:
<?xml version="1.0" encoding="utf-8" ?><Image ImageUrl = "C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Butterfly.jpg"/>
<Image ImageUrl="C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Desert.jpg"/>
<Image ImageUrl="C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Field.jpg"/>
<images>
<Image ImageUrl = "C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Butterfly.jpg"/>
<Image ImageUrl="C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/Desert.jpg"/>
</images>
Manipage.xaml.cs :
private void imglist_Loaded(object sender, RoutedEventArgs e)
{
var element = XElement.Load("Authors.xml");
var authors = from var in element.Descendants("Image")
select new images
{
ImageUrl = GetImage(var.Attribute("ImageUrl").Value)
};
imglist.ItemsSource = authors;
}
private ImageSource GetImage(string p)
{
return new BitmapImage(new Uri(p, UriKind.Relative));
}
类文件:
public class images
{
public ImageSource ImageUrl { get; set; }
}
答案 0 :(得分:0)
检查XML文件中的路径。您的手机/模拟器上不存在C:/Users/USER 1/Documents/Visual Studio 2012/Projects/pinchimage/pinchimage/
。您应该为应用程序包中的图像资源或内容文件提供URI,或者为Internet上的图像提供URL。 IIRC,对于隔离存储中的图像,您需要手动编写它们(尽管我可能错了)。