Invention-A-Day: List Control Builder
Posted by Dan Vanderboom on January 6, 2008
I spent a few hours yesterday playing in WPF again, this time with data binding and list controls. Every time I work with WPF, I get more excited, and am more impressed by what’s possible there. I work with Windows Forms on mobile devices for a living, and list controls is one area that always seems to be lacking something. I’ve used Resco’s AdvancedList for several years, and find that I can get it to do almost anything within reason in Windows Forms, but the API leaves a lot to be desired: it is unintuitive in several ways.
I’ve looked through the source code for several list controls, and they are complicated beasts. Almost too complicated, I think, to be packaged up as a whole and delivered atomically as they are (though one can hardly blame them for delivering a complete solution).
Regardless of whether we’re talking WPF or Windows Forms (though I think WPF would support it much more easily), my invention is a list control system in which one can select options and write new components for different aspects or components within it. With this list control builder, I would like to select a paging mechanism (virtualized, all-in-memory), a scrolling mechanism (scrollbars, grab-and-pull, accelerated-tug), a selecting mechanism (single, multiple, selection by selecting a control or double-tapping), a display style, and so on. A wizard could guide the developer through the list’s creation, and the resulting configuration and behavior could then be saved as either a new style, or a generated control assembly, to appear in the toolbox as a new control.