/// <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);
 }