【问题标题】:ComboBox filtering in SilverlightSilverlight 中的组合框过滤
【发布时间】:2012-01-26 22:02:36
【问题描述】:

我有一个关于 ComboBox 绑定的问题。

我有一个组合框,里面填充了一些值,我想过滤这个组合框,只显示满足 checkBox 值的值。

例如:我有一个名为 Male 的复选框。当我检查它时,我想在组合框中只显示性别为男性的对象。

这可能吗?

【问题讨论】:

    标签: silverlight binding combobox checkbox


    【解决方案1】:

    将您的 ComboBox 绑定到一个集合,比如一个可观察的集合和将复选框绑定到一个布尔值的两种方式。 当您单击复选框时,您的 bool 属性将被通知。基于该过滤器您的收藏。组合框现在将包含过滤项目。

    【讨论】:

      【解决方案2】:

      查看 PagedCollectionView。将 ComboBox 当前绑定到的集合传递到 PageCollectionView,然后绑定到该集合。 PagedCollectionView 有一个 Filter 属性,它接受一个 Predicate 来过滤集合中的项目。

      过滤器存在一些问题,导致在过滤器中使用的属性更新时它不会更新。此外,更改项目时它不会更新。要强制它更新,您可以将其设置为 null 然后恢复为原始值。您可能可以使用 Refresh 方法进行某些操作,但我尚未对此进行测试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-28
        • 1970-01-01
        • 1970-01-01
        • 2013-10-01
        • 2020-04-01
        相关资源
        最近更新 更多