C# 如何在windows metro应用程序中使用xml解析在Gridview中绑定图像
我正在开发我的第一个Windows 8应用程序。我试图显示一个填充了图像和图像描述的GridView。我想从我创建的XML文件中获取数据。我找到了GridView的ItemSource属性,并尝试将XML文件绑定到它,但我无法做到这一点C# 如何在windows metro应用程序中使用xml解析在Gridview中绑定图像,c#,windows-store-apps,C#,Windows Store Apps,我正在开发我的第一个Windows 8应用程序。我试图显示一个填充了图像和图像描述的GridView。我想从我创建的XML文件中获取数据。我找到了GridView的ItemSource属性,并尝试将XML文件绑定到它,但我无法做到这一点 请告诉我做这项工作的正确方法。thanx您不能将XML文件直接绑定到GridView.ItemsSource,您需要先将其解析为对象。我将创建一个类,其中包含要在GridView中显示的所有数据: public class GridViewItem {
请告诉我做这项工作的正确方法。thanx您不能将XML文件直接绑定到
GridView.ItemsSource
,您需要先将其解析为对象。我将创建一个类,其中包含要在GridView
中显示的所有数据:
public class GridViewItem
{
public string Description { get; set; }
public ImageSource Image { get; set; }
}
下一步是将XML文件解析为GridViewItem
s的列表:
var xmlString = await FileIO.ReadTextAsync(storageFile);
var xml = XDocument.Parse(xmlString);
var Items = xml.Element("rootNode").Elements("itemNode").Select(i => new GridViewItem
{
Description = (string)i.Element("descriptionNode"),
Image = ParseImage(i.Element("imageNode"))
}).ToList();
我假设XML中的标记是rootNode
,itemNode
,descriptionNode
和imageNode
。我也不知道图像数据是如何存储在XML中的。将其转换为ImageSource
的逻辑应位于ParseImage()
中
剩下的唯一一件事就是将上面的项
列表分配给视图模型中充当您的DataContext
的属性,并将其绑定到ItemsSource
:
<GridView ItemsSource="{Binding Items}" />
这是基本思想。我的回答中缺少很多细节,但根据您的问题,我只能这样做。我们需要更多的信息来帮助您。你试过什么?到底是什么不起作用?您的XML看起来像什么?