protected virtual void FireValueChanged() { var handler = ValueChanged; if (handler != null) handler(this, EventArgs.Empty); } }