0

CollectionView で複数のフィルターを使用しようとしています - このアプローチを使用しています: http://bea.stollnitz.com/blog/?p=32

CollectionView にフィルターを追加するための構文を作成しました

Filter メソッドに追加のパラメーターを追加する方法を知りたいと思います。

例えば

Public Shared Sub FilterByAge(ByVal Item As Object, ByVal e As FilterEventArgs, ByVal Age As Int32)
    '
    '
    Dim PersonToFilter As Person = TryCast(e.Item, Person)
    '
    '
    If Not PersonToFilter.Age = Age Then
        '
        e.Accepted = False
        '
    End If
    '
    '
End Sub

Deletegate を使用してこれを行うことは可能でしょうか? 私はそれらにあまり慣れていませんが:

追加のフィルター パラメーターを使用して VB.NET に複数の CollectionViewSource フィルターを追加するための正しい方向を教えてもらえますか?

ありがとうベン

4

1 に答える 1

2

Filter メソッドに追加のパラメーターを追加する方法を知りたいと思います。

それはできません。ハンドラーの署名はイベントの署名と一致する必要があります。最も簡単な解決策は、年齢をフィールドに保存し、そのフィールドをハンドラーで使用することです。

Private _age As Int32

Public Sub FilterByAge(ByVal Item As Object, ByVal e As FilterEventArgs)
    '
    '
    Dim PersonToFilter As Person = TryCast(e.Item, Person)
    '
    '
    If Not PersonToFilter.Age = _age Then
        '
        e.Accepted = False
        '
    End If
    '
    '
End Sub
于 2011-11-06T01:04:23.367 に答える