diff --git a/Ginger/Ginger/SolutionWindows/AccessibilityRulePage.xaml.cs b/Ginger/Ginger/SolutionWindows/AccessibilityRulePage.xaml.cs index 9950bbbcce..1224a4d8b4 100644 --- a/Ginger/Ginger/SolutionWindows/AccessibilityRulePage.xaml.cs +++ b/Ginger/Ginger/SolutionWindows/AccessibilityRulePage.xaml.cs @@ -110,25 +110,30 @@ private void CheckBox_Click(object sender, RoutedEventArgs e) // Do something with data, for example: data.Active = checkBox.IsChecked ?? false; mAccessibilityConfiguration.StartDirtyTracking(); - if (!data.Active) + if (!mAccessibilityConfiguration.ExcludedRules.Any()) { - if(!mAccessibilityConfiguration.ExcludedRules.Any()) - { - GingerCoreNET.GeneralLib.General.CreateDefaultAccessiblityconfiguration(); - mAccessibilityConfiguration = WorkSpace.Instance.SolutionRepository.GetFirstRepositoryItem(); - mAccessibilityConfiguration.ExcludedRules = mAccessibilityConfiguration.ExcludedRules != null ? mAccessibilityConfiguration.ExcludedRules : new(); - } + GingerCoreNET.GeneralLib.General.CreateDefaultAccessiblityconfiguration(); + mAccessibilityConfiguration = WorkSpace.Instance.SolutionRepository.GetFirstRepositoryItem(); + mAccessibilityConfiguration.ExcludedRules = mAccessibilityConfiguration.ExcludedRules != null ? mAccessibilityConfiguration.ExcludedRules : new(); + } - if (!mAccessibilityConfiguration.ExcludedRules.Any(x => x.Equals(data.RuleID))) + if (!data.Active) + { + if (!mAccessibilityConfiguration.ExcludedRules.Any(x => x.RuleID.Equals(data.RuleID,StringComparison.CurrentCultureIgnoreCase))) { mAccessibilityConfiguration.ExcludedRules.Add(data); } } else { - if (mAccessibilityConfiguration.ExcludedRules.Any(x => x.Equals(data.RuleID))) + if (mAccessibilityConfiguration.ExcludedRules.Any(x => x.RuleID.Equals(data.RuleID,StringComparison.CurrentCultureIgnoreCase))) { - mAccessibilityConfiguration.ExcludedRules.Remove(data); + AccessibilityRuleData itemToRemove = mAccessibilityConfiguration.ExcludedRules.FirstOrDefault(x => x.RuleID.Equals(data.RuleID, StringComparison.CurrentCultureIgnoreCase)); + if (itemToRemove != null) + { + mAccessibilityConfiguration.ExcludedRules.Remove(itemToRemove); + } + } } }