在客户端上过滤DomainDataSource(DDS)的最佳方法是什么?
我的DDS连接到WCF Ria服务并下载许多项目。我想在不同的控件中显示这些信息的一部分。例如,几个ItemsControls,显示由不同值过滤的DDS中的项目。我知道我可以为服务器上的每个控件和过滤器创建一个新的DDS,但我宁愿只做一次。
我尝试过使用iValueConverter进行过滤。例如
ItemsSource="{Binding Data, ElementName=PermissionsByUserDS, Converter={StaticResource PermissionsByTypeConverter}, ConverterParameter={StaticResource GeneralPermissions}}"这在控件首次绑定数据时运行良好,但在DDS重新加载其数据时不会更新。如果我删除转换器,ItemsControls会按预期更新,但很明显,我得不到过滤。
我也可以在每次DDS更新时在代码中手动进行过滤和绑定,但我不确定这是不是最好的方法。
有什么建议吗?
发布于 2009-11-29 11:58:29
您可能想看看CollectionViewSource。它允许过滤集合。
http://msdn.microsoft.com/en-us/library/system.windows.data.collectionviewsource.filter(VS.95).aspx
http://microsoft.realdolmenblogs.com/post/CollectionViewSource-in-Silverlight.aspx
http://www.mokosh.co.uk/post/Silverlight-3-CollectionViewSource.aspx
https://stackoverflow.com/questions/1809959
复制相似问题