次の方法で共有


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

完全な例については、「 データ バインディングのデモ」を参照してください。

注釈

ビューは、コレクションにフィルターを適用できます。 つまり、コレクション内に項目が存在する可能性がありますが、特定のビューは、完全なコレクションの特定のサブセットのみを表示することを目的としています。

このイベントを使用して、フィルター処理ロジックを提供するイベント ハンドラーを設定できます。

適用対象