DomainDataSource - 在客户端上过滤

时间:2009-11-27 17:47:26

标签: silverlight binding wcf-ria-services ivalueconverter

在客户端上过滤DomainDataSource(DDS)的最佳方法是什么?

我的DDS连接到WCF Ria服务并下载了许多项目。我想在不同的控件中显示这些信息。例如,一些ItemsControls显示来自DDS的各种值过滤的项目。我知道我可以为服务器上的每个控件和过滤器创建一个新的DDS,但我宁愿只做一次。

我尝试过使用iValueConverter进行过滤。例如

ItemsSource="{Binding Data, ElementName=PermissionsByUserDS, Converter={StaticResource PermissionsByTypeConverter}, ConverterParameter={StaticResource GeneralPermissions}}"

当控件首次数据绑定时,这可以正常工作,但是当DDS重新加载其数据时,它们不会更新。如果我删除转换器,ItemsControls按预期更新,但显然我没有得到过滤。

每次DDS更新时,我也可以在代码中手动进行过滤和绑定,但我不确定这是最好的方法。

有什么建议吗?