【发布时间】:2012-01-26 22:02:36
【问题描述】:
我有一个关于 ComboBox 绑定的问题。
我有一个组合框,里面填充了一些值,我想过滤这个组合框,只显示满足 checkBox 值的值。
例如:我有一个名为 Male 的复选框。当我检查它时,我想在组合框中只显示性别为男性的对象。
这可能吗?
【问题讨论】:
标签: silverlight binding combobox checkbox
我有一个关于 ComboBox 绑定的问题。
我有一个组合框,里面填充了一些值,我想过滤这个组合框,只显示满足 checkBox 值的值。
例如:我有一个名为 Male 的复选框。当我检查它时,我想在组合框中只显示性别为男性的对象。
这可能吗?
【问题讨论】:
标签: silverlight binding combobox checkbox
将您的 ComboBox 绑定到一个集合,比如一个可观察的集合和将复选框绑定到一个布尔值的两种方式。 当您单击复选框时,您的 bool 属性将被通知。基于该过滤器您的收藏。组合框现在将包含过滤项目。
【讨论】:
查看 PagedCollectionView。将 ComboBox 当前绑定到的集合传递到 PageCollectionView,然后绑定到该集合。 PagedCollectionView 有一个 Filter 属性,它接受一个 Predicate 来过滤集合中的项目。
过滤器存在一些问题,导致在过滤器中使用的属性更新时它不会更新。此外,更改项目时它不会更新。要强制它更新,您可以将其设置为 null 然后恢复为原始值。您可能可以使用 Refresh 方法进行某些操作,但我尚未对此进行测试。
【讨论】: