Back in the good old days (were they really that good?) when I started programming in Windows I used Visual Basic version 3. The C++ guys down the hall would sneer at us, but we got stuff built pretty quickly compared to them, and, mostly, it worked.

Then along came VB4, and VB5 and VB6, each an improvement, although VB4 had some wrinkles that caused me problems. But that is all so long ago.

The one lingering problem, though, was databinding. Microsoft said that it was the greatest thing since sliced bread, and all the sample apps they provided worked just fine. But when you tried it in a real application it was problematic, at best. At worst, it just didn’t work.

I gave up using it in VB3. When each subsequent version came out I would try it again and again I would abandon it.

The problem is that some controls require it. The winforms datagrid, for example, could only be filled by using databinding, so I didn’t use the datagrid.

Then along .Net. Since I was a VB programmer I started out in VB .Net, and I tried databinding. It was supposed to be better, and maybe it was, but it was still pretty crook. So I still didn’t use the newfangled datagrid.

But things have changed. When Visual Studio 2005 came out I made the change to C#, and I once again tried databinding. And, at last it works. I still rarely use the datagrid, but I am binding to a lot of other controls, listboxes and combo boxes being the two most obvious.

I now use a lot of Developer Express controls and they make databinding a breeze.

I have read a lot of stuff from the Agile guys, and they generally don’t seem to like databinding. But if you don’t use it then you are fighting the tools that the IDE provides, rather than working with them. And now that WPF is getting better and better it is likely to become more mainstream, especially after Visual Studio 2010 comes out next year, databinding will take off in a big way. There are just so many ways that you can bind data in WPF, it makes no sense at all not to take advantage of it.

I have become a convert. Databinding has made my life so much simpler, and now it really does work.