C# WPF数据网格绑定到xml
我想以编程方式将包含从数据库中取出的一些结果的XML文件绑定到我的Datagrid。我的XML看起来像:C# WPF数据网格绑定到xml,c#,wpf,xml,data-binding,datagrid,C#,Wpf,Xml,Data Binding,Datagrid,我想以编程方式将包含从数据库中取出的一些结果的XML文件绑定到我的Datagrid。我的XML看起来像: <root> <resultset> <header> <column> Col 1 </column> <column> Col 2 </column> </header> <data
<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>
但是这并没有真正的帮助,没有任何东西显示出来,呵呵,我读过一些“路径”绑定属性,但我找不到它。这就是你要找的吗 我认为您要做的是将ItemsSource连接到
XmlDataProvider
(您也可以在代码中创建它),并将其XPath
设置为/root/resultset/data/row
。然后对于可以使用的每个元素,比如说Text={Binding XPath=./field}
我对细节有点不确定,因为我已经有一段时间没有这样做了,但希望这将为您指明正确的方向。我想您已经有了xmldataprovider,您的Xml源名为myXMLDoc。 然后可以将xml数据绑定到WPF控件
ItemsSource="{Binding Source={StaticResource myXMLDoc}, XPath=row}}" //bind "row" elements to your control
谢谢你的回答。问题是,我希望通过编程实现这一点(由于应用程序用途/arch,无法在XAML中实现)。问题是,以编程的方式,我不能再使用绑定表达式了,这就是为什么我在所有这些属性中迷失了方向,我正在阅读一篇关于数据绑定的MSN文章,但它仍然令人困惑。(顺便说一句,wpf新手:p)哇,我不知道我能以编程方式放置表达式。。。哥们,太棒了!非常感谢你。它给了我行(但仍然空),但它比我之前,我要挖掘,以找出什么是错的更好。再次感谢您,我只想问一个问题,如何将标记绑定到datagrid头列?我试着查看mydatagrid.columns,但它是一个集合,实际上没有ItemsSource之类的东西。谢谢:)@Miloud检查一下,确实我找到了那个,它可以工作了:D谢谢男人:)。只有一件事,我的列设置正确,但我的行是空的。。如何将中的每一项映射到每一列?
ItemsSource="{Binding Source={StaticResource myXMLDoc}, XPath=row}}" //bind "row" elements to your control