我有三个XML HierarchicalDataTemplates。它们在运行时加载,然后分配给TreeView.ItemTemplate。这是我大约六年前在类似项目上成功使用的代码。它不仅现在不起作用(原始项目仍然神秘地工作正常)但是,坦率地说,我无法理解我六年前编写的代码或为什么它的工作原理!这是代码片段(OOB是TreeView):
//This is for dynamically building a treeview with templates from an XML file
XmlTextReader xmlReader1 = new XmlTextReader("HierarchicalDataTemplate1.xml");
HierarchicalDataTemplate hierarchicalDataTemplate1 = XamlReader.Load(xmlReader1) as HierarchicalDataTemplate;
XmlTextReader xmlReader2 = new XmlTextReader("HierarchicalDataTemplate2.xml");
HierarchicalDataTemplate hierarchicalDataTemplate2 = XamlReader.Load(xmlReader2) as HierarchicalDataTemplate;
hierarchicalDataTemplate1.ItemTemplate = hierarchicalDataTemplate2;
XmlTextReader xmlReader3 = new XmlTextReader("HierarchicalDataTemplate3.xml");
HierarchicalDataTemplate hierarchicalDataTemplate3 = XamlReader.Load(xmlReader3) as HierarchicalDataTemplate;
hierarchicalDataTemplate2.ItemTemplate = hierarchicalDataTemplate3;
OOB.ItemTemplate = hierarchicalDataTemplate1;
Thread updateThread = new Thread(new ParameterizedThreadStart(UpdateTree));
updateThread.Start(this);
TreeView(OOB)正确显示前两个节点级别,但不显示第三个节点级别。考虑到,我没有看到第三个hierarchyDataTemplate是如何分配给OOB.ItemTemplate的,这并不奇怪(好吧,令人惊讶的是它为什么在我六年前写的代码中正常工作)。
有人能告诉我如何正确地将三个单独的XML hierarchicalDataTemplate文件分配给TreeView吗?谢谢!
答案 0 :(得分:0)
这不是问题所在。这是使用Xpath设置HierarchicalDataTemplate XML文件的方式。抱歉!谢谢!