【问题标题】:How to use multiple filters on CollectionView in VB.NET如何在 VB.NET 中的 CollectionView 上使用多个过滤器
【发布时间】:2011-11-06 09:04:23
【问题描述】:

我正在尝试在 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

是否可以使用删除门来做到这一点?不过我对它们不是很熟悉:

谁能指出我在 VB.NET 中添加多个 CollectionViewSource 过滤器以及其他过滤器参数的正确方向?

谢谢 本

【问题讨论】:

    标签: wpf filter collectionviewsource


    【解决方案1】:

    我现在想知道如何向我的 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
    

    【讨论】:

    • 我以为会是这样。
    猜你喜欢
    • 2014-05-28
    • 1970-01-01
    • 2013-03-16
    • 2013-05-14
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多