/// <summary> /// 构建一个组合模式的树形结构,并显示在Treeview当中; /// </summary> private void InitTreeViewComposite() { List <TreeViewComposite> root = new List <TreeViewComposite>(); TreeViewComposite t1 = new TreeViewComposite() { m_ItemName = "Root" }; TreeViewComposite t2 = new TreeViewComposite() { m_ItemName = "T1" }; TreeViewComposite t3 = new TreeViewComposite() { m_ItemName = "T2" }; TreeViewComposite t4 = new TreeViewComposite() { m_ItemName = "T3" }; root.Add(t1); t1.m_SubList.Add(t2); t1.m_SubList.Add(t3); t2.m_SubList.Add(t4); t2.m_SubList.Add(t4); t2.m_SubList.Add(t4); t2.m_SubList.Add(t4); this.tv_composite.ItemsSource = root; }
/// <summary> /// 递归读取XML文档; /// </summary> /// <param name="eles"></param> /// <param name="father_ele"></param> private void readfile(XmlNodeList eles, TreeViewComposite father_ele) { if (xmlsource == null) { return; } if (father_ele == null) { root = new TreeViewComposite(); root.m_ItemName = "root"; father_ele = root; items.Add(father_ele); } foreach (XmlElement ele in eles) { TreeViewComposite item = new TreeViewComposite(); item.m_ItemName = ele.GetAttribute("Flag").ToString(); item.m_ItemContent = "This is Message Content!!!!"; father_ele.m_SubList.Add(item); readfile(ele.ChildNodes, item); } }
private static bool FindTreeViewContent(TreeViewComposite iter) { iter.m_SubList.Find(FindTreeViewContent); return(true); }