Silverlight中的ComboBox过滤

时间:2011-12-23 15:40:00

标签: silverlight binding combobox checkbox

我对ComboBox绑定有疑问。

我有一个comboBox,填充了一些值,我想过滤这个comboBox,只显示满足checkBox值的值。

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

这可能吗?

2 个答案:

答案 0 :(得分:0)

将您的ComboBox绑定到一个集合,比如一个可观察的集合,以及复选框与bool的双向绑定。 当您单击复选框时,将通知您的bool属性。基于那个过滤你的收藏。组合框现在将具有过滤的项目。

答案 1 :(得分:0)

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

过滤器存在一些问题,导致过滤器中使用的属性更新时不会更新。此外,更改项目时不会更新。要强制更新,可以将其设置为null,然后再将其设置为原始值。你可能能够使用Refresh方法,但我还没有测试过。