/// <summary> /// 菜单列表 /// </summary> /// <param name="menuItem"></param> private void GetElectricalCalsMenuList(List <SubMenuBase> menuItem) { var checkingMenu = new SubMenuBase("", this, "验算条件", (e) => { }); //根据杆塔序列来确定子菜单 #region 根据杆塔序列来确定子菜单 var menu2ChildList = new List <SubMenuBase>() { }; List <string> baseData = projectUtils.GetAllTowerSequenceNames(); foreach (var item in baseData) { var subMenu = new SubMenuBase("ElectricalCheckingParModule", this, " " + item, (e) => { OnSelectedBaseDataSubModuleChanged(e); }); subMenu.ParentNode = checkingMenu; var subList = new List <SubMenuBase>() { }; var subMenu1 = new SubMenuBase("", this, " 悬垂塔", (e) => { OnSelectedSubModuleItemChanged(e); }); subMenu1.ParentNode = subMenu; subList.Add(subMenu1); var subMenu2 = new SubMenuBase("", this, " 耐张塔", (e) => { OnSelectedSubModuleItemChanged(e); }); subMenu2.ParentNode = subMenu; subList.Add(subMenu2); subMenu.ChildItems = subList; menu2ChildList.Add(subMenu); } checkingMenu.ChildItems = menu2ChildList; menuItem.Add(checkingMenu); #endregion #region 根据本地保存的电气参数来配置子菜单 GlobalInfo globalInfo = GlobalInfo.GetInstance(); var calsParMenu = new SubMenuBase("", this, "计算参数", (e) => { }); //calsParMenu.SetIcon("Menu_para.png"); var struTemplateLibSubList = new List <SubMenuBase>() { }; var test = new ECComParaModuleSubMenu("ElectricalCommonParModule", this, " 公共参数", (e) => { OnClickECCommParaMenu(e); }); test.ParentNode = calsParMenu; List <ElecCalsCommRes> commParas = globalInfo.GetElecCalsCommParasList(); var commParaSubList = new List <SubMenuBase>() { }; for (int i = 0; i < commParas.Count; i++) { var commParaSubMenu = new SubMenuBase("", this, " " + commParas[i].Name, (e) => { OnSelectedECParaChanged(e); }); commParaSubMenu.ParentNode = test; commParaSubList.Add(commParaSubMenu); } test.ChildItems = commParaSubList; struTemplateLibSubList.Add(test); var test1 = new ECSideParaModuleSubMenu("ElectricalSideParModule", this, " 档内参数", (e) => { OnClickECSideParaMenu(e); }); test1.ParentNode = calsParMenu; List <ElecCalsSideRes> sideParas = globalInfo.GetElecCalsSideParasList(); var sideParaSubList = new List <SubMenuBase>() { }; for (int i = 0; i < sideParas.Count; i++) { var sideParaSubMenu = new SubMenuBase("", this, " " + sideParas[i].Name, (e) => { OnSelectedECParaChanged(e); }); sideParaSubMenu.ParentNode = test1; sideParaSubList.Add(sideParaSubMenu); } test1.ChildItems = sideParaSubList; struTemplateLibSubList.Add(test1); var test2 = new ECTowerParaModuleSubMenu("ElectricalTowerParModule", this, " 铁塔配置参数", (e) => { OnClickECTowerParaMenu(e); }); test2.ParentNode = calsParMenu; List <ElecCalsTowerRes> towerParas = globalInfo.GetElecCalsTowerParasList(); var towerParaSubList = new List <SubMenuBase>() { }; for (int i = 0; i < towerParas.Count; i++) { var towerParaSubMenu = new SubMenuBase("", this, " " + towerParas[i].Name, (e) => { OnSelectedECParaChanged(e); }); towerParaSubMenu.ParentNode = test2; towerParaSubList.Add(towerParaSubMenu); } test2.ChildItems = towerParaSubList; struTemplateLibSubList.Add(test2); calsParMenu.ChildItems = struTemplateLibSubList; menuItem.Add(calsParMenu); #endregion }