다음을 통해 공유


CollectionViewSource.Filter 이벤트

정의

필터링 논리를 제공합니다.

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 

이벤트 유형

예제

다음 예제에 대 한 이벤트 처리기를 설정 하는 방법을 보여 줍니다는 Filter 이벤트입니다. 이 예에서 listingDataView 의 인스턴스가 CollectionViewSource합니다.

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

다음 예제에서는 ShowOnlyBargainsFilter 필터 이벤트 처리기의 예제 구현입니다. 이 이벤트 처리기는 Accepted 속성을 사용하여 CurrentPrice가 25달러 이상인 AuctionItem 개체를 필터링합니다.

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

전체 예제를 참조 하세요 데이터 바인딩 데모합니다.

설명

뷰는 컬렉션에 필터를 적용할 수 있습니다. 즉, 컬렉션에 항목이 있을 수 있지만 특정 뷰는 전체 컬렉션의 특정 하위 집합만 표시하기 위한 것입니다.

이 이벤트를 사용하여 필터링 논리를 제공하도록 이벤트 처리기를 설정할 수 있습니다.

적용 대상