【发布时间】:2010-02-26 15:23:06
【问题描述】:
谁能帮帮我,为什么我的列表框是空的?
XmlDocument 包含以下 XML:
<Config>
<Tabs>
<Tab Name="Test1" />
<Tab Name="Test2" />
</Tabs>
</Config>
在我的 XAML 文件中,我尝试了以下操作
<Window>
<Grid>
<ListBox DataContext="{Binding {StaticResource Data}, XPath=//Tabs}" ItemsSource="{Binding XPath=Tab/@Name}">
</ListBox>
</Grid>
<Window>
我知道我没有设置到 name 属性的绑定,但是如果每个选项卡节点正常工作,它不应该显示 XmlDocument.XmlNode.ToString() 吗?
我的 C# 构造函数代码在后面:
InitializeComponent();
this.doc = new XmlDocument();
doc.LoadXml(config.document.OuterXml);
XmlDataProvider provider = (XmlDataProvider)Resources["Data"];
provider.Document = doc;
provider.Refresh();
config.document.OuterXml 是包含上述 xml 的有效文档。
我使用 Collections 处理程序代码,但我一直在尝试弄清楚如何直接绑定到 XML。
更新:列表框为空
现在没有绑定错误,但是我的列表框是空的,我仔细检查了我的 XML 文件,甚至做了 MessageBox.Show(provider.Document.OuterXML) 并且可以确认 XmlDocument 确实有正确的节点.
提前致谢
【问题讨论】:
-
我还没有对 XML 文档进行任何数据绑定...但是您是否查看了输出窗口以查看是否遇到任何数据绑定错误?
-
谢谢你,上帝我已经使用数据绑定几个星期了,我总是忘记检查输出窗口。我编辑了我的帖子以添加我的错误,同时我仍在尝试解决这个问题。
标签: c# wpf xml binding xml-binding