我正在开发我的第一个 Windows 8 应用程序。我正在尝试显示填充有图像和图像描述的 GridView。我想从我创建的 XML 文件中获取数据。我找到了 GridView 的 ItemSource 属性,并尝试将我的 XML 文件绑定到它,但我不能这样做。
请告诉我完成这项任务的正确方法。谢谢
我正在开发我的第一个 Windows 8 应用程序。我正在尝试显示填充有图像和图像描述的 GridView。我想从我创建的 XML 文件中获取数据。我找到了 GridView 的 ItemSource 属性,并尝试将我的 XML 文件绑定到它,但我不能这样做。
请告诉我完成这项任务的正确方法。谢谢
您不能将 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
和. 另外我不知道您的图像数据是如何存储在 XML 中的。将其转换为的逻辑应该在.descriptionNode
imageNode
ImageSource
ParseImage()
剩下的唯一事情就是将Items
上面的列表分配给视图模型中充当您的属性DataContext
并将其绑定到ItemsSource
:
<GridView ItemsSource="{Binding Items}" />
这是基本思想。我的回答中缺少很多细节,但根据您的问题,这是我能做的最好的事情。