We’ve been hard at work on enhancements for our WPF controls that will be part of our WPF Studio 2010.2 version. One of the areas we’ve gotten into is reworking a lot of the internals of our PropertyGrid control to improve performance.

PropertyGrid was already performing comparable to other WPF property grids, however we have taken a long look at several areas that we identified could provide some additional performance gains, and have updated our code to take advantage of the ideas.
Without getting into too much detail, we have focused on changes that would reduce the overall number of visuals and measure/arrange cycles that were required.
We also have added some options that further improve performance when set appropriately:
- A ScrollViewer is used to provide the vertical scrolling (and show/hide the ScrollBar). It causes extra measure/arrange cycles since it needs to determine if/when a ScrollBar should be displayed. We now support the attached ScrollViewer.VerticalScrollBarVisibility property. When set to Visible, the ScrollBar will always be visible however the extra measure/arrange cycles are removed.
- A Thumb is used to allow the end user to resize the property grid’s columns. A new AreDefaultColumnsResizable property has been added to turn off this feature. When off, the load time required to arrange, measure, and apply templates is reduced.
- Virtualization features have been improved such that scrolling a virtualized property grid is faster than before.
All of these features are complete for the WPF Studio 2010.2 version that should be released in the next couple months.