protected override void OnPropertyChanged(string name) { var idx = _validProperties.IndexOf(name); if (idx >= 0) { var lastPos = _validProperties.Count - 1; _validProperties[idx] = _validProperties[lastPos]; _validProperties.RemoveAt(lastPos); } base.OnPropertyChanged(name); }