private void OnCheckStyle(bool isChecked) { var replacementSelected = ReplacementTextStyles.Count(x => x.IsSelected) > 0; foreach (var d in ReplacementTextStyles) { if (replacementSelected) { d.IsEnabled = d.IsSelected; continue; } d.IsEnabled = !TextStyles.Where(x => x.IsSelected).Contains(d); } // if none of the types are selected let's clean selection // in replacement table as well if (TextStyles.Any(x => x.IsSelected)) { return; } foreach (var d in ReplacementTextStyles) { d.IsSelected = false; } }