protected virtual void OnSetComplete(int index, object oldValue, object newValue) { } protected virtual void OnValidate(object value) { }