protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); if (propertyName != null && propertyName.Equals("DupDirtyList")) { return; } if (DirtyList == null) { DirtyList = new List <string>(); } if (DirtyList.SingleOrDefault(x => x == propertyName) == null) { DirtyList.Add(propertyName); } }