I've finally managed to finish an article I wanted to write for a long time: Really complex databinding: ITypedList with weakly typed collections. The article describes in full how one of the most complex interfaces of .NET, ITypedList can be used to provide information to controls like the DataGrid control so complex databinding can be controlled by the developer: which property to hide, which property has to be set as read only because of the state of an object, which inner structure has to be exposed as a property etc. etc.. The example used in this article walks the reader through various topics: Custom attributes, ITypedList implementation for hierarchical data and non-hierarchical data and how to hide a property of a class in a databinding scenario. Source code for this example project is provided in C#. With this article I hope to pass on some information I've gathered during the past year working with ITypedList as the documentation on this important interface is pretty limited and a lot of developers will have to implement ITypedList some day.