[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"); > } > > #endregion>