private void UpdateDimensionList(ReactiveList <LocalDimension> list) { list.ChangeTrackingEnabled = false; foreach (var dim in list) { dim.IsDuplicate = false; dim.RaisePropertyChanged(nameof(dim.Name)); } var duplicatgroups = list .GroupBy(dim => dim.Name) .Where(g => g.Count() > 1) .ToList(); foreach (var group in duplicatgroups) { foreach (var dim in group) { dim.IsDuplicate = true; dim.RaisePropertyChanged(nameof(dim.Name)); } } list.ChangeTrackingEnabled = true; CanCreate = !AllErrors.Any() && ColumnList.Count(col => col.HasErrors) == 0 && RowList.Count(row => row.HasErrors) == 0; }