I think it would be better not to override the custom editor, if the property is read-only. And need to change the function GenerateChildrenEditorElement in class ObjectContainerHelperBase from
ITypeEditor editor = null;
if (pd.IsReadOnly)
editor = new TextBlockEditor();
if (editor == null)
editor = pd.CreateAttributeEditor();
if (editor != null)
editorElement = editor.ResolveEditor(propertyItem);
to ITypeEditor editor = pd.CreateAttributeEditor();
if (editor == null && pd.IsReadOnly)
editor = new TextBlockEditor();
if (editor != null)
editorElement = editor.ResolveEditor(propertyItem);