Using
<System.ComponentModel.TypeConverter(GetType(System.ComponentModel.ExpandableObjectConverter))> _
on the declaration of a class (which is a property of another class) that consists of a number properties.
I load an instance of this class with simply ...
PropertyGrid1.SelectedObject = oColumn
Obviously I don't want to manually build the propertygrid in code, I know how to do that.
But here's the problem. Depending on the value of a property, certain other properties should not be visible, as though I'd used the
<System.ComponentModel.Browsable(False)> _
attribute on the property declaration.
Is there anyway to do this programmatically, without having to handle all the building of the property grid manually>
if you were hoping for a gridItem.Hide() then, the answer is no. The only way to achieve that in the MS PropertyGrid is to dynamically publish your properties through the GetProperties method of a TypeConverter or custom type descriptor (that implements ICustomTypeDescriptor). I would try first with the TypeConverter (especially if the property values you want to check are at the same level), there is less coding to do.