在客户端过滤 DomainDataSource(DDS) 的最佳方法是什么?
我的 DDS 连接到 WCF Ria 服务并下载许多项目。我想在不同的控件中显示这些信息的一部分。例如,一些 ItemsControls 显示 DDS 中按各种值过滤的项目。我知道我可以为服务器上的每个控件和过滤器创建一个新的 DDS,但我宁愿只进行 1 次旅行。
我尝试使用 iValueConverter 进行过滤。例如
ItemsSource="{Binding Data, ElementName=PermissionsByUserDS, Converter={StaticResource PermissionsByTypeConverter}, ConverterParameter={StaticResource GeneralPermissions}}"
当控件第一次绑定数据但当 DDS 重新加载其数据时它们不会更新时,这可以正常工作。如果我删除转换器,ItemsControls 会按预期更新,但显然我没有得到过滤。
每次 DDS 更新时,我也可以在代码中手动进行过滤和绑定,但我不确定这是不是最好的方法。
有什么建议么?