WPF is an awesome technology - but it has the odd "beauty spot". One example is the absence of a DataGrid control.

  • WPF 3.0 shipped in Nov 2006 without a DataGrid
  • WPF 3.5 shipped in Nov 2007, alas again without a DataGrid
  • WPF 3.5 SP1 will ship later this year, alas again without a DataGrid

:-(

But - there is good news.

:-)

Tim did a great summary in May of the improvements in WPF as part of .NET Framework 3.5 SP1. Part of it was mention of 3 new controls - and yep, one of them is the DataGrid.

"It's been a long time in coming, but we're finally adding the much-requested DataGrid control to WPF. This will ship out-of-band at first, just after we release 3.5 SP1; it will take advantage of the various virtualizing optimizations mentioned above so it should be relatively efficient, and of course, like all WPF controls, it will be possible to completely change the look and feel of the control through templates. We made a number of API enhancements to better support the DataGrid scenario: multi-selectors, null value auto-conversion, transactional item editing, alternating row support, item-level validation - and of course, all these are available to third-parties to improve their own high-end data grid controls."

However, you don't have to wait. You can build your own datagrid in WPF (as you can pretty much build any control in WPF) or you can buy one (there are many to choose from) or... you can take advantage of a free WPF DataGrid control. Two spring to mind.

Xceed:

Xceeds free DataGrid control is the most well known (thanks). Check out this WPF xbap demonstrating the capability of the high end version of their control and the licensing of the free version.

image

Infragistics:

Infragistics also released a free WPF control late in 2007 - but IMHO they have made it incredibly hard to find! You are looking for NetAdvantage for WPF 2008 Vol. 1 Express. Unfortunately that is all I know about this one.