/// <summary> /// 根据WorkMode动态过滤SubWorkMode,在SubWorkMode中,如果属于被选中的WorkMode则把Visibility设置为True,否则为false /// </summary> /// <param name="workMode">被选中的WorkMode</param> private void FilterSubWorkMode(WorkModeE workMode) { foreach (var item in SubWorkModes) { SubWorkModeE subWorkMode = item.SelectedModel; if (subWorkMode.GetTAttribute <SubWorkModeAttribute>().WorkModeType != workMode) { item.IsShow = Visibility.Collapsed; } else { item.IsShow = Visibility.Visible; } } //切换SubWorkMode后需要重新选择。 var select = SubWorkModes.Find(swm => { return(swm.IsShow == Visibility.Visible && (swm.SelectedModel == SubWorkModeE._4PHASE_GRAY_4PHASE_BG || swm.SelectedModel == SubWorkModeE._4PHASE_GRAY)); }); if (select == null) { select = SubWorkModes.First(swm => swm.IsShow == Visibility.Visible); } SubWorkMode = select.SelectedModel; }
} //4BG和前一个SubFrame的积分同步 public SubWorkModeAttribute(WorkModeE type) { this.WorkModeType = type; }