/// <summary> /// 获取枚举列表List (string) /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <returns>包含枚举列表的条件选择器实体类</returns> public List <SpiderCondition> GetList <T>() { List <SpiderCondition> TargetList = new List <SpiderCondition>(); foreach (var item in (T[])System.Enum.GetValues(typeof(T))) { SpiderCondition SC = new SpiderCondition(); SC[item.GetType().Name] = item; TargetList.Add(SC); } return(TargetList); }
private void Button_Click(object sender, RoutedEventArgs e) { Button ButtonClick = sender as Button; string Tag = ButtonClick.Tag.ToString(); switch (Tag) { case "Continue": var TargetTypeList = ConditionTargetTypeList.Where(x => x.IsChecked == true).Select(x => x.ConditionTargetType).ToList(); var RarityList = ConditionRarityList.Where(x => x.IsChecked == true).Select(x => x.ConditionRarity).ToList(); var ExcList = ConditionExcTypeList.Where(x => x.IsChecked == true && x.ConditionExcType != SpiderCondition.SpiderConditionExcType.AllMessage).Select(x => x.ConditionExcType).ToList(); //判断是否选择了条件 if (TargetTypeList.Count == 0 || RarityList.Count == 0 || ExcList.Count == 0) { this.ParentWindow.IsSelectCondition = false; this.ParentWindow.Ng.NavigaionWin.Close(); return; } //根据选择的条件生成下载列表 List <SpiderCondition> ConditionList = new List <SpiderCondition>(); this.ParentWindow.DownList = ConditionList; foreach (var Tar in TargetTypeList) { foreach (var Exc in ExcList) { foreach (var Rar in RarityList) { SpiderCondition sc = new SpiderCondition(); sc.ConditionTargetType = Tar; sc.ConditionExcType = Exc; sc.ConditionRarity = Rar; //sc.SetAddress(); ConditionList.Add(sc); } } } this.ParentWindow.IsSelectCondition = true; this.ParentWindow.Ng.NavigaionWin.Close(); return; case "Back": this.ParentWindow.IsSelectCondition = false; this.ParentWindow.Ng.NavigaionWin.Close(); return; } }
public void LoadConditionList() { SpiderCondition GetEnumList = new SpiderCondition(); ConditionTargetTypeList.Clear(); ConditionRarityList.Clear(); ConditionExcTypeList.Clear(); var CTT = GetEnumList.GetList <SpiderCondition.SpiderConditionTargetType>(); ConditionTargetTypeList.AddRange(CTT); var CR = GetEnumList.GetList <SpiderCondition.SpiderConditionRarity>(); ConditionRarityList.AddRange(CR); var CET = GetEnumList.GetList <SpiderCondition.SpiderConditionExcType>(); ConditionExcTypeList.AddRange(CET); GetEnumList = null; }