Regular Windows Forms data-binding can only bind to the properties directly belonging to each list item. This post explains how to bind to properties of properties (and so on, recursively) by creating a special collection class that exposes nested properties using ITypedList and PropertyDescriptor. You can use AggregationBindingList as a data source for the ComboBox, ListBox and DataGridView controls. Continue reading

Covers the development and theory behind an extended ComboBox control that displays its items in groups/categories. Explains the principles behind Windows Forms data binding and how property values can be easily retrieved from data sources using BindingSource and PropertyDescriptor objects. Also details the best-practice techniques for measuring and painting an OwnerDrawVariable combo box in code. Examples and source code are provided. Continue reading