The cause of the problem is in PropertyManager.GetItemProperties (PropertyDescriptor [] list accessors), which is called from RelatedPropertyManager. In .NET 4, listAccessors are ignored:
internal override PropertyDescriptorCollection GetItemProperties(PropertyDescriptor[] listAccessors) { if (this.dataSource == null) return new PropertyDescriptorCollection((PropertyDescriptor[]) null); else return TypeDescriptor.GetProperties(this.dataSource); }
In .NET 2.0, it was like this:
internal override PropertyDescriptorCollection GetItemProperties(PropertyDescriptor[] listAccessors) { return ListBindingHelper.GetListItemProperties(this.dataSource, listAccessors); }
But I'm not sure if this is a bug or an intentional change in functionality.
source share