CollectionViewSource.Filter 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供筛选逻辑。
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
有关完整示例,请参阅 数据绑定演示。
注解
视图可以将筛选器应用于集合。 这意味着,尽管集合中可能存在某个项,但特定视图旨在仅显示整个集合的特定子集。
可以使用此事件设置事件处理程序以提供筛选逻辑。