Edit this page

Filtering Popup Remains Opened

PROBLEM

When the the filter popup on a column is opened and the user switches to another desktop app with the keyboard (for example, pressing Alt+Tab), not the mouse, then the RadGridView filter popup remains open.

CAUSE

The reason for this behavior is that the filtering popup is listening for the mouse click event and it will be closed when the user clicks outside of the popup.

SOLUTION 1 (Before Q1 2016)

You will need to subscribe for the Deactivated event of the MainWindow and ensure the filtering popup is closed.

For example, you can close the popup with the following code:

Example 1: Closing the Filtering Popup from the Deactivated event

var FilterDialogs = this.radGridView.ChildrenOfType<Popup>().Where(p => p.Name == "PART_DropDownPopup");
if (FilterDialogs != null)
{
    foreach (Popup FilterDialog in FilterDialogs)
    {
        if (FilterDialog.IsOpen)
            FilterDialog.IsOpen = false;
    }
}
Dim FilterDialogs = Me.radGridView.ChildrenOfType(Of Popup)().Where(Function(p) p.Name = "PART_DropDownPopup")
If FilterDialogs IsNot Nothing Then
    For Each FilterDialog As Popup In FilterDialogs
        If FilterDialog.IsOpen Then
            FilterDialog.IsOpen = False
        End If
    Next
End If

SOLUTION 2 (After Q1 2016)

As of Q1 2016, we have introduced the ShouldCloseFilteringPopupOnKeyboardFocusChanged property, which controls whether the filtering popup should close on keyboard focus change. Setting it to True will close the popup when a user switches to another application, no matter if they do that by using Alt+Tab or by clicking away with the mouse.

And here is how to set it:

Example 2: Closing the Filtering Popup in XAML

<telerik:RadGridView ShouldCloseFilteringPopupOnKeyboardFocusChanged="True" />

See Also