如何在不使用代码的情况下将XDocument对象绑定到Treeview?

时间:2012-12-13 15:13:53

标签: c# xaml mvvm treeview linq-to-xml

我尝试将XDocument对象绑定到树视图而不使用任何代码隐藏,因此它符合MVVM模式。到目前为止,我还没有想出如何做到这一点。我搜索了很多,看到了很多关于XDocuments和treeview的问题,但是没有一个真的有帮助,他们中的大多数确实有代码落后或没有解释(明确)如何做到这一点。

我认为这很容易

<treeview ItemsSource="{Binding Path=TheXDocumentObject, Mode=TwoWay}" />

但我的treelist仍然是空的(我100%确定XML文件在XDocument中加载就像它应该的那样)。我还发现了XmlDataProvider,但它的Source不允许数据绑定,因为它不是DependencyProperty或DependencyObject。

所以我有点卡在这里,在没有代码隐藏的情况下,我需要做什么才能将XDocument对象绑定到treeview?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

如果没有代码隐藏或转换器(或视图模型中的某些代码),这是不可能的。)XDocument用于LINQ to Xml,当您阅读文档而不是公共文档时,它上面没有集合属性xmlnodes的集合。您可以使用XmlDocumdnt和HierarchicalDataTemplate(不使用任何c#)来执行此操作