RadGridView has a public method called GetDistinctValues
(with several overloads). You can use this public method to get a list of the distinct values which you can then display in any kind of ItemsControl.
Or if you prefer, you can extract the distinct values from your data source in any other way that you find applicable, for exampel using LINQ
If you have our source code, your best shot will to explore the XAML and code-behind of our stock FilteringControl in order to understand what it does and how.
The XAML is located in FilteringControl_Style.xaml and the code behind is located in FilteringControl.cs. The view model serving the FilteringControl is inside FilteringViewModel.cs. Examine the source code if you want to learn what we are doing internally. The source code is far from trivial I am afraid.
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>