void OnValueChanged(object s, EventArgs a) { if (!syncing) { syncing = true; if (!property.IsReadOnly) { property.SetValue (obj, currentEditor.Value); if (Changed != null) Changed (s, a); } syncing = false; } }