/// <summary> /// 选中所有 被选中item的子项 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void menuSelectAllChildren_Click(object sender, RoutedEventArgs e) { if (MainTree.SelectedItem != null) { TraceSetTreeModel tree = (TraceSetTreeModel)MainTree.SelectedItem; tree.ISChecked = true; tree.SetAllChildrenChecked(true); } }
/// <summary> /// 数据绑定 解析XML文件的数据并绑定 /// </summary> private void tvDataBinding() { List <string> myList = new List <string>(); /// 从配置文件TraceSwitch.xml中读取 BoardStyleName GetBoardStyleName(myList); ///根据每个BoardStyleName,获取其中具体的子项 for (int i = 0; i < myList.Count; i++) { TraceSetTreeModel subTree = new TraceSetTreeModel(); subTree.Name = myList[i].ToString(); subTree.IsExpanded = false; //获取 BoardStyleName 中,具体的 Name 列表 List <string> nameList = new List <string>(); GetName(nameList, myList[i]); if (myList[i] == "SCP") { //分别存储 LTE 和 TD List <string> strLTEList = new List <string>(); List <string> strTDList = new List <string>(); GetLTEAndTD(strLTEList, strTDList, nameList); TraceSetTreeModel treeLTE = new TraceSetTreeModel(); treeLTE.Name = "LTE"; treeLTE.Parent = subTree; foreach (string strLTE in strLTEList) { TraceSetTreeModel childLTETree = new TraceSetTreeModel(); childLTETree.Name = strLTE; childLTETree.Parent = treeLTE; treeLTE.Children.Add(childLTETree); } subTree.Children.Add(treeLTE); TraceSetTreeModel treeTD = new TraceSetTreeModel(); treeTD.Name = "TD"; treeTD.Parent = subTree; foreach (string strTD in strTDList) { TraceSetTreeModel childTDTree = new TraceSetTreeModel(); childTDTree.Name = strTD; childTDTree.Parent = treeTD; treeTD.Children.Add(childTDTree); } subTree.Children.Add(treeTD); } else { for (int j = 0; j < nameList.Count; j++) { TraceSetTreeModel childTree = new TraceSetTreeModel(); childTree.Name = nameList[j].ToString(); childTree.Parent = subTree; subTree.Children.Add(childTree); } } tmList.Add(subTree); } ItemSourceData = tmList; }