gpt4 book ai didi

c# - 将 DataGrid 绑定(bind)到 XmlDataProvider 的问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:43 25 4
gpt4 key购买 nike

我有以下代码:

<Window.Resources>
<XmlNamespaceMappingCollection x:Key="ns">
<XmlNamespaceMapping Prefix="a" Uri="http://musicbrainz.org/ns/mmd-2.0#" />
</XmlNamespaceMappingCollection>
<XmlDataProvider XmlNamespaceManager="{StaticResource ns}" x:Key="SearchArtistDataSource" XPath="/a:metadata/a:artist-list/a:artist" Source="file.xml" />
</Window.Resources>
<DataGrid x:Name="SearchArtistDataGrid" ItemsSource="{Binding Source={StaticResource SearchArtistDataSource}}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding XPath=a:name}" />
<DataGridTextColumn Binding="{Binding XPath=a:country}" />
</DataGrid.Columns>
</DataGrid>

这是我正在使用的 XML 文件:http://pastebin.com/5bUCBisB

到目前为止,我所取得的成就在某种程度上将 DataGrid 绑定(bind)到 XmlDataProvider - 我可以说出这么多,因为它会自动从 XML 文件中生成一些列。问题是我试图添加的手动操作(显示艺术家列表数组中艺术家的姓名和国家/地区)- 其中没有显示任何内容。

就其值(value)而言 - 类似的方法在 ListView 中运行良好,但我在迁移时卡住了。

我做错了什么?

最佳答案

我在 MSDN 论坛上得到了答案……事后看来这个答案很重要。

XmlNamespaceManager 不仅要附加到 XmlDataProvider,还要附加到 DataGrid 本身:

<DataGrid Binding.XmlNamespaceManager="{StaticResource ns}">

希望这对遇到类似问题的任何人有所帮助。

关于c# - 将 DataGrid 绑定(bind)到 XmlDataProvider 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10762786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com