WPF Datagrid绑定到xml

时间:2010-11-23 09:29:36

标签: c# wpf xml data-binding datagrid

我希望以编程方式绑定一个XML文件,其中包含从数据库中提取的一些结果到我的Datagrid。我的XML看起来像:

<root>
    <resultset>
        <header>
            <column> Col 1 </column>
            <column> Col 2 </column>
        </header>

        <data>
            <row>
               <field>Value field 1</field>
               <field>Value field 2</field>
            </row>
            <row>
               <field>Value field 1</field>
               <field>Value field 2</field>
            </row>
        </data>
    </resultset>
</root>

我正在尝试将标题映射到datagrid标题,将行映射到行...唯一的问题是我有点卡住,我迷失在程序化属性中,有人可以给我提示要照顾什么?

我尝试过:

myDataGrid.ItemsSource = myXmlDoc

但它并没有真正帮助没有显示出什么,我已经阅读了一些“路径”绑定属性,但我找不到它。

2 个答案:

答案 0 :(得分:1)

这是你要找的吗?

http://joshsmithonwpf.wordpress.com/2007/06/04/binding-to-xml/

我认为您要做的是将ItemsSource连接到XmlDataProvider(您也可以在代码中创建),并将XPath设置为/root/resultset/data/row。然后,对于您可以使用的每个元素,请说Text = {Binding XPath=./field}

我对细节有点不确定,因为我有一段时间没有这样做,但希望这会让你朝着正确的方向前进。

答案 1 :(得分:1)

我想你已经拥有xmldataprovider,你的Xml源名为myXMLDoc。 然后你可以将xml数据绑定到你的WPF控件。

ItemsSource="{Binding Source={StaticResource myXMLDoc}, XPath=row}}" //bind "row" elements to your control