Redigera

Dela via


CollectionViewSource.Filter Event

Definition

Provides filtering logic.

public:
 event System::Windows::Data::FilterEventHandler ^ Filter;
public event System.Windows.Data.FilterEventHandler Filter;
member this.Filter : System.Windows.Data.FilterEventHandler 
Public Custom Event Filter As FilterEventHandler 

Event Type

Examples

The following example shows how to set an event handler for the Filter event. In this example, listingDataView is an instance of CollectionViewSource.

listingDataView.Filter += new FilterEventHandler(ShowOnlyBargainsFilter);
AddHandler listingDataView.Filter, AddressOf ShowOnlyBargainsFilter

The following shows the implementation of the example ShowOnlyBargainsFilter filter event handler. This event handler uses the Accepted property to filter out AuctionItem objects that have a CurrentPrice of $25 or greater.

private void ShowOnlyBargainsFilter(object sender, FilterEventArgs e)
{
    AuctionItem product = e.Item as AuctionItem;
    if (product != null)
    {
        // Filter out products with price 25 or above
        if (product.CurrentPrice < 25)
        {
            e.Accepted = true;
        }
        else
        {
            e.Accepted = false;
        }
    }
}
Private Sub ShowOnlyBargainsFilter(ByVal sender As Object, ByVal e As FilterEventArgs)
    Dim product As AuctionItem = CType(e.Item, AuctionItem)
    If Not (product Is Nothing) Then
        'Filter out products with price 25 or above
        If product.CurrentPrice < 25 Then
            e.Accepted = True
        Else
            e.Accepted = False
        End If
    End If
End Sub

For the complete example, see Data Binding Demo.

Remarks

Views can apply a filter to a collection. This means that although an item might exist in the collection, a particular view is intended to show only a certain subset of the full collection.

You can use this event to set an event handler to provide filtering logic.

Applies to