UI Virtualization

Since Q1 2013 RadPropertyGrid supports UI Virtualization. It processes only information that is loaded in the viewable area, which reduces the memory footprint of the application and speeds up the loading time. This means that only the needed containers (rows) that are currently visible have a visual element. When RadPropertyGrid is scrolled up and down, the UI Virtualization mechanism enables RadPropertyGrid to reuse the existing containers over and over again for different data items, instead of creating new ones. This is of great importance when it is bound to large data sets.

As of Q2 2013 RadPropertyGrid supports UI Virtualization for grouping scenarios. It is supported only when RadpropertyGrid's property - RenderMode is set to Flat.

The following tutorial shows how to bind to a collection of business objects and virtualize the items displayed in a RadPropertyGrid element using the IsVirtualizing property.

By default IsVirtualizing property is set to False.

Here is a simple RadPropertyGrid declaration.

Example 1: Defining RadPropertyGrid

<telerik:RadPropertyGrid x:Name="propertyGrid1" /> 

RadPropertyGrid is populated with 10 000 rows.

Example 2: Populating RadPropertyGrid

this.propertyGrid1.Item = this.GetVeryLargeDataSource(); 
Me.propertyGrid1.Item = Me.GetVeryLargeDataSource() 

Finally, in order to enable the UI Virtualization behavior, you should set the IsVirtualizing property of RadPropertyGrid to True. See the example below:

Example 3: Setting IsVirtualizing property

<telerik:RadPropertyGrid IsVirtualizing="True" /> 

A complete example of RadPropertyGrid UI Virtualization is available in this online demo.

In this article