Каков наилучший способ фильтрации DomainDataSource (DDS) на клиенте?
Мой DDS подключается к службе WCF Ria и загружает несколько элементов. Я хочу показать биты этой информации в разных элементах управления. например, несколько ItemsControls, показывающих элементы из DDS, отфильтрованные по различным значениям. Я знаю, что мог бы создать новый DDS для каждого элемента управления и фильтра на сервере, но я бы предпочел совершить только 1 поездку.
Я пытался использовать iValueConverter для фильтрации. например,
ItemsSource="{Binding Data, ElementName=PermissionsByUserDS, Converter={StaticResource PermissionsByTypeConverter}, ConverterParameter={StaticResource GeneralPermissions}}"
Это прекрасно работает, когда элементы управления сначала привязаны к данным, но они не обновляются, когда DDS перезагружает свои данные. Если я удалю конвертер, ItemsControls обновится, как ожидается, но, очевидно, тогда я не получу фильтрацию.
Я также могу выполнять фильтрацию и привязку вручную в коде при каждом обновлении DDS, но я не уверен, что это лучший подход.
Есть предложения?