private void CompYear_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (CompYears.All(arg => arg.IsSelected)) { // Все элементы выбраны chkSelectAll.IsChecked = true; } else if (CompYears.All(arg => !arg.IsSelected)) { // Все элементы не выбраны chkSelectAll.IsChecked = false; } else { // Что-то выбрано, а что-то нет chkSelectAll.IsChecked = null; } CalcEnabled = CompYears.Count > 0 && (chkSelectAll.IsChecked == null || chkSelectAll.IsChecked.Value); SelectedYears.Clear(); }
public CCalcGradesWnd(long GroupId, List <CMemberInTotal> CompMembers) { InitializeComponent(); m_CompMembers = CompMembers; m_GroupId = GroupId; foreach (int YearOfBirth in (from member in m_CompMembers where member.MemberInfo.YearOfBirth.HasValue group member by member.MemberInfo.YearOfBirth.Value into memberYearOfBirths orderby memberYearOfBirths.Key select memberYearOfBirths.Key)) { FilterPredicate NewPredicate = new FilterPredicate() { Name = YearOfBirth.ToString(), FilterValue = YearOfBirth, IsSelected = YearOfBirth <= (DateTime.Today.Year - DBManagerApp.m_AppSettings.m_Settings.MinAgeToCalcResultGrade) }; NewPredicate.PropertyChanged += CompYear_PropertyChanged; CompYears.Add(NewPredicate); } CompYear_PropertyChanged(this, null); GlobalDefines.TuneComboboxWidth2(cmbResultGradeCalcMethod); int row = 0; foreach (KeyValuePair <enGrade, string> Grade in GlobalDefines.GRADE_NAMES) { if (Grade.Key == enGrade.None || Grade.Key == enGrade.WithoutGrade || Grade.Key == enGrade.Master || Grade.Key == enGrade.BeforeMaster) { continue; } Label lbl = new Label() { Content = Grade.Value, Background = Grade.Key < enGrade.Adult3 ? new SolidColorBrush(DBManagerApp.m_AppSettings.m_Settings.StayOnStartFontStyle.BackgroundColor) : new SolidColorBrush(DBManagerApp.m_AppSettings.m_Settings.InvitedToStartFontStyle.BackgroundColor), BorderThickness = new Thickness(1, 0, 1, 1), BorderBrush = Brushes.Gray }; Grid.SetColumn(lbl, 0); Grid.SetRow(lbl, row + 1); grdCalcGradesResults.Children.Add(lbl); lbl = new Label() { Background = Grade.Key < enGrade.Adult3 ? new SolidColorBrush(DBManagerApp.m_AppSettings.m_Settings.StayOnStartFontStyle.BackgroundColor) : new SolidColorBrush(DBManagerApp.m_AppSettings.m_Settings.InvitedToStartFontStyle.BackgroundColor), BorderThickness = new Thickness(0, 0, 1, 1), BorderBrush = Brushes.Gray }; Grid.SetColumn(lbl, 1); Grid.SetRow(lbl, row + 1); grdCalcGradesResults.Children.Add(lbl); m_dictLblsPlaces.Add(Grade.Key, lbl); row++; } cmbResultGradeCalcMethod.SelectedIndex = (int)DBManagerApp.m_AppSettings.m_Settings.ResultGradeCalcMethod; chkOnly75PercentForCalcGrades.IsChecked = DBManagerApp.m_AppSettings.m_Settings.Only75PercentForCalcGrades; btnCalcPlaces_Click(this, null); }