The DataGrid has taken some heat for a few problems it has caused people in Silverlight. That’s why it is great to see an updated version of the DataGrid so quickly. This new version claims to contain almost 30 fixes to the DataGrid: One of my most awaited changes is in here too: combobox and others controls opening a popup now work as expected. If you tried to create a combobox inside a DataGrid’s cell, you may have noticed that the combobox would not stay opened. There were a few hacks out on how to make it work right, but there were all temporary fixes til this new fix came out. So needless to say, just for that fix I am thrilled :)
There are some great posts on what is included and instructions on how to get it and set it up.
Here is a great post on what fixes were made in the DataGrid, by Brian Brackel.
Here is the link to get the DataGrid update (Silverlight 2 DataGrid December 2008 Release).
And here is another great post by Scott Morrison that includes breaking changes and installation instructions. Installing it is not as simple as “download and run”. There is a bit of cleanup to get rid of the old DataGrid and replace it with the new DataGrid bits. Pretty straightforward process. I grabbed this from Scott’s post:
In order to use the new DataGrid you need to do all of the following:
- Close all instances of Microsoft Visual Studio.
- Delete all cached toolbox items by removing all files beginning with "toolbox" from %LocalAppData%\Microsoft\VisualStudio\9.0.
- On Microsoft Windows XP, %LocalAppData% is Documents and Settings\UserName\Local Settings\Application Data.
- On Microsoft Windows Vista, %LocalAppData% is Users\UserName\AppData\Local.
- Replace the following assemblies with the ones contained in the package in the link above:
- %ProgramFiles%\Microsoft SDKs\Silverlight\v2.0\Libraries\Client\System.Windows.Controls.Data.dll
- %ProgramFiles%\Microsoft SDKs\Silverlight\v2.0\Libraries\Client\System.Windows.Controls.Data.Design.dll
- For any existing projects, delete the reference to System.Windows.Controls.Data.dll and then re-add the reference.