2013-02-12 41 views
0

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

请告诉我正确的方式来完成这项任务。 thanx

+0

我们需要更多的信息来帮助你。你有什么尝试?什么不工作?你的XML是什么样的? – ZombieSheep 2013-02-12 10:52:38

回答

0

您无法直接将XML文件绑定到GridView.ItemsSource,您需要首先将其解析为对象。我想创建一个类在GridView显示所有数据:

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

下一步是将XML文件解析成的GridViewItem个清单:

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,descriptionNodeimageNode。我也不知道你的图像数据是如何存储在XML中的。将其转换为ImageSource的逻辑应该位于ParseImage()

剩下的唯一的事情就是分配Items列表上方的财产在您的视图模型作为您DataContext并将其绑定到ItemsSource

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

这是基本的想法。我的答案中有很多细节遗漏,但最好我可以根据你的问题来做。