CollectionViewSource.Filter イベント


フィルタリング ロジックを提供します。Provides filtering logic.

 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 イベントのイベントハンドラーを設定する方法を示しています。The following example shows how to set an event handler for the Filter event. この例では、listingDataViewCollectionViewSourceのインスタンスです。In this example, listingDataView is an instance of CollectionViewSource.

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

次に示すのは、ShowOnlyBargainsFilter フィルターイベントハンドラーの例の実装です。The following shows the implementation of the example ShowOnlyBargainsFilter filter event handler. このイベントハンドラーは、Accepted プロパティを使用して、$25 以上の CurrentPrice を持つ AuctionItem オブジェクトを除外します。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;
            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
            e.Accepted = False
        End If
    End If
End Sub

完全な例については、「データバインディングのデモ」を参照してください。For the complete example, see Data Binding Demo.


ビューでは、コレクションにフィルターを適用できます。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.