我希望以编程方式绑定一个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
但它并没有真正帮助没有显示出什么,我已经阅读了一些“路径”绑定属性,但我找不到它。
答案 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