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 事件设置事件处理程序。 在此示例中,listingDataViewCollectionViewSource 的实例。

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

有关完整示例,请参阅 数据绑定演示

注解

视图可以将筛选器应用于集合。 这意味着,尽管集合中可能存在某个项,但特定视图旨在仅显示整个集合的特定子集。

可以使用此事件设置事件处理程序以提供筛选逻辑。

适用于