Filtering
PropertyGrid supports filtering of the property definitions via the built-in Search Box. The default behavior is "search as you type" meaning that each time you modify the text, property definitions will be filtered based on their DisplayName property setting.

To disable the search box filtering, set the SearchBoxVisibility property of RadPropertyGrid to Collapsed. This will hide the search box and the user won't be able to filter the property definitions.
Hiding the Search Box
<telerikControls:RadPropertyGrid SearchBoxVisibility="Collapsed" />
Deferred Filtering
To disable the live filtering that happens on text changed in the Search Box, set the EnableDeferredFiltering property to True. This way the filtering won't be executed until the search box loses the focus or Enter, or Tab key is pressed.
Disable live filtering on text changed
<telerikControls:RadPropertyGrid EnableDeferredFiltering="True" />
Custom Filtering
The default fitlering behavior can be customized by implementing custom filter. To enable this set the EnableCustomFiltering property of RadPropertyGrid to True and override the IsFiltered property of the PropertyDefinition.
Implementing custom file by overriding the IsFiltered property
public class MyPropertyDefinition : PropertyDefinition
{
public override bool IsFiltered
{
get
{
if (!string.IsNullOrEmpty(this.SearchString))
{
return this.Value.ToString().Contains(this.SearchString) || this.DisplayName.Contains(this.SearchString);
}
else
{
return true;
}
}
}
}
Enabling custom filtering and using the custom PropertyDefinition
<telerikControls:RadPropertyGrid AutoGeneratePropertyDefinitions="False" EnableCustomFiltering="True" >
<telerikControls:RadPropertyGrid.PropertyDefinitions>
<local:MyPropertyDefinition DisplayName="Name" Binding="{Binding Name}" />
<!-- other property definitions here -->
</telerikControls:RadPropertyGrid.PropertyDefinitions>
</telerikControls:RadPropertyGrid>
Filtering Events
The PropertyGrid control provides two filtering events - Filtering and Filtered. The Filtering event is raised just before the filtering happens and it can be used to cancel the action.
Filtering event handler
private void RadPropertyGrid_Filtering(object sender, PropertyGridFilteringEventArgs e)
{
string searchText = e.FilterText;
if (shouldCancelFiltering)
{
e.Cancel = true;
}
}
Filtered event handler
private void RadPropertyGrid_Filtered(object sender, EventArgs e)
{
}
Searching in Nested Properties
By default the filtering doesn't search for nested properties. To enable this, set the SearchInNestedProperties property to True.
Enabling search in nested properties
<telerikControls:RadPropertyGrid SearchInNestedProperties="True" />