[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public object SelectedValue { get { return EditValue; } set { object lOldValue = EditValue; if (CheckPropertyChanged("SelectedValue", ref lOldValue, ref value)) { EditValue = value; //_Items.IndexOfValue(value); SelectedValueChanged(); } //SelectedValueChanged(); } } #region INotifyPropertyChanged Members public event PropertyChangedEventHandler PropertyChanged; protected bool CheckPropertyChanged<T>(string propertyName, ref T oldValue, ref T newValue) { if (oldValue == null && newValue == null) { return false; } if ((oldValue == null && newValue != null) || !oldValue.Equals((T)newValue)) { oldValue = newValue; //FirePropertyChanged(propertyName); return true; } return false; } protected void FirePropertyChanged(string propertyName) { if (this.PropertyChanged != null) { this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } protected void SelectedValueChanged() { FirePropertyChanged("SelectedValue"); } #endregionThank you