从XML文件中填充datagrid或listview

时间:2009-09-05 17:18:42

标签: c# wpf xml datagrid wpftoolkit

我有一个格式良好的XML文件,我想填充数据网格。我更喜欢使用WFPToolKit数据网格的AutoGenerate功能,但可以对列进行硬编码。

我遇到的麻烦是将xml文件内容放入数据网格中。我在listview中部分工作,但认为数据网格更适合我的需求。

任何人都可以提供一个如何实现这个目标的快速示例吗?

2 个答案:

答案 0 :(得分:1)

啊哈!我终于在这里的另一篇文章的帮助下解决了这个问题。以下是我能够工作的内容,将每个XML元素添加到列表视图中。

XDocument xdoc = XDocument.Load("c:\\isbn.xml");
var items = from item in xdoc.Descendants("BookData")
            select new
            {
                Title = item.Element("Title").Value,
                AuthTexts = item.Element("AuthorsText").Value
            };

foreach (var item in items)
{
    listView1.Items.Add(new { Title = item.Title, Author = item.AuthTexts });
}

答案 1 :(得分:1)

我将XML绑定到ListView,如下所示:

// Bind the data to the ListView
var binding = new System.Windows.Data.Binding() {  
  Source = MergedXmlDataProvider,  
  UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,  
  XPath = "//element" };  
this.listView1.SetBinding(ItemsControl.ItemsSourceProperty, binding);   

XML看起来像这样:

<root>  
    <element location="here" state="now"/>  
    <element location="there" state="then"/>  
</root>