Ваш ответ - CollectionViewSource.Вместо привязки к списку привязывайте к экземпляру CollectionViewSource.
Далее следует слегка вырожденный пример (я не уверен, используете ли вы ViewModels, Locators и т. Д. Для разрешения ваших данных и вашего списка.)
Предположим, что в вашей разметке у вас есть CollectionViewSource, объявленный в ваших ресурсах следующим образом:
<phone:PhoneApplicationPage.Resources>
<CollectionViewSource x:Key="src"/>
</phone:PhoneApplicationPage.Resources>
Тогда ваша привязка к списку будет выглядеть следующим образом:
<ListBox x:Name="MyListBox" ItemsSource="{Binding Source={StaticResource src}}">
Наконец, в коде выможет жениться на вашем списке и источнике представления вашей коллекции:
var collectionView = this.Resources["src"] as CollectionViewSource;
// Check for null, etc.
collectionView.Source = observableCollectionThatIAmBindingTo;
collectionView.View.Filter=new Predicate<Object>(o => ((ItemType)o).IsActive );
Кроме того, вы можете проверить статьи Беа Столльниц на эту тему по адресу:
http://bea.stollnitz.com/blog/?p=31
http://bea.stollnitz.com/blog/?p=392