Share via


CollectionViewSource.Filter Olay

Tanım

Filtreleme mantığı sağlar.

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 

Olay Türü

Örnekler

Aşağıdaki örnekte, olay için bir olay işleyicisinin nasıl ayarlanacağı gösterilmektedir Filter . Bu örnekte, listingDataView bir örneğidir CollectionViewSource.

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

Aşağıda örnek ShowOnlyBargainsFilter filtre olay işleyicisinin uygulanması gösterilmektedir. Bu olay işleyicisi, $25 veya üzeri bir CurrentPrice değere sahip nesneleri filtrelemek AuctionItem için özelliğini kullanırAccepted.

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

Tam örnek için bkz. Veri Bağlama Tanıtımı.

Açıklamalar

Görünümler bir koleksiyona filtre uygulayabilir. Bu, koleksiyonda bir öğe bulunabilse de, belirli bir görünümün tam koleksiyonun yalnızca belirli bir alt kümesini göstermeyi amaçladığı anlamına gelir.

Filtreleme mantığı sağlamak üzere bir olay işleyicisi ayarlamak için bu olayı kullanabilirsiniz.

Şunlara uygulanır