The AddChild and Remove methods are on the appropriate property models. To override them, you would need to create classes that inherit the property model classes whose methods would be called, and override the spots where the instances would normally be created to use your custom classes instead. That can be a little tricky due to the complexity of collection handling in PropertyGrid, but it would be the cleanest solution if you could get it working. I know you had trouble in other threads getting some functionality to work. If you could make a new simple sample project that showed the issues you are having and sent that to our support address referencing the related threads, we could try and help you sort those out. I believe you said you had trouble making a sample before.but if you are able to make one, please remove the bin/obj folders from the ZIP, and rename the .zip file extesion so it doesn't get spam blocked.
Back on your original question, that is the reason we have our add/remove buttons defined in the PropertyGrid.ValueContainerStyle's Template (defined via a Style Setter). The ControlTemplate for a TreeListViewItemCell there has a ContentPresenter (which will display any arbitrary property editor DataTemplate based on data type, etc.) and our add/remove buttons that show based on the CanAddChild and CanRemove property model values.
If you do things where you are putting the remove button in the property editor DataTemplate instead, then you'd probably have to programmatically set your specific property editor when appropriate within the factory's CreatePropertyModel method. You could probably call the base method to create a property model, look at the request.Parent to see if it's your collection, and if so, set the property model's ValuePropertyEditor property to select your property editor.
Actipro Software Support