2009-09-05 97 views
1

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

我遇到的问题是将xml文件内容放入数据网格中。我已经部分使用了listview,但是认为datagrid会更适合我的需求。

任何人都可以提供一个快速的例子来说明如何做到这一点?

回答

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

我绑定的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>