C# 如何在windows metro应用程序中使用xml解析在Gridview中绑定图像

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 {

我正在开发我的第一个Windows 8应用程序。我试图显示一个填充了图像和图像描述的GridView。我想从我创建的XML文件中获取数据。我找到了GridView的ItemSource属性,并尝试将XML文件绑定到它,但我无法做到这一点


请告诉我做这项工作的正确方法。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看起来像什么?