0

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

请告诉我完成这项任务的正确方法。谢谢

4

1 回答 1

0

您不能将 XML 文件直接绑定到GridView.ItemsSource,您需要先将其解析为对象。我会创建一个类,其中包含要显示的所有数据GridView

public class GridViewItem
{
    public string Description { get; set; }
    public ImageSource Image { get; set; }
}

下一步是将 XML 文件解析为GridViewItems 列表:

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和. 另外我不知道您的图像数据是如何存储在 XML 中的。将其转换为的逻辑应该在.descriptionNodeimageNodeImageSourceParseImage()

剩下的唯一事情就是将Items上面的列表分配给视图模型中充当您的属性DataContext并将其绑定到ItemsSource

<GridView ItemsSource="{Binding Items}" />

这是基本思想。我的回答中缺少很多细节,但根据您的问题,这是我能做的最好的事情。

于 2013-02-13T05:56:12.040 回答