As described above, FilterPresenter does not interact directly with the control ItemsControl. At introduction FilterControl to the user control, it is sufficient that FilterControl was connected to the same representation of the collection, which uses your control. Of course, for interactive use quick filter you need your control handles CollectionChanged events from the connected CollectionView.

Form OrdersView is a user control that displays the results of LINQ query to the database using a CollectionView. To add a quick filter is enough to add to the form ColumnFilter control:

How use.

OrdersView.xaml
<bsFilter:ColumnFilter Key="Employee"
                      ParentCollection="{Binding DataContext.OrdersCollectionView,
                          ElementName=LayoutRoot}">
</bsFilter:ColumnFilter>

How work.

The property ColumnFilter.ParentCollection bind to the collection, for which a quick filter is created, and the value ColumnFilter.Key assign the name of the property of the enumeration item, which will be used to quickly filter. When connecting collections, ColumnFilter analyzes the type of enumeration elements and attempts to find a PropertyInfo width property name, matching the value Key. If successful, it returns a set of filters for the property, using initializers provide from the ColumnFilter.FilterInitializersManager property.

How look.

Pic7

Here's how you can add ItemsFilter to ComboBox..

Last edited Nov 9, 2013 at 5:47 AM by Mishkin, version 3