the last free name wrote: So far I can identify the PropertyDescriptor for peopleList and it's type of MyCollection... What exactly do you mean by "I can". Do you mean the code you've written can, you can through the debugger or through Type discovery? Please be specific. Also, you really only need to implement ITypedList if you need to customize the properties exposed to bindable controls. Controls that implement binding correctly (like those defined in the .NET Framework Class Library) use the BindingManagerBase class for binding, from which CurrencyManager and PropertyManager derive. If you bind your collection of objects correctly (see the DataGridTableStyle.MappingName property for more information and an example) then you get binding for free. Implementing IBindingList, on the other hand, is a custom feat that really depends on your requirements, but the basic implementation you also get for free. For example, if your collection (or, rather, list) returns true for IList.IsReadOnly then items can't be added and the UI appears appropriately. This posting is provided "AS IS" with no warranties, and confers no rights. Software Design Engineer Developer Division Sustained Engineering Microsoft [My Articles] [My Blog]