Я реализую фильтр текстового поля для списка на основе примера Джоша Смита по адресу http://joshsmithonwpf.wordpress.com/2007/06/12/searching-for-items-in-a-listbox. По сути, он устанавливает фильтр в представлении для делегата, который проверяет текст в поле поиска. Подключаю фильтр так:
var pickerView = FindResource("sortedRulesView") as CollectionViewSource;
new TextSearchFilter(pickerView.View, SearchTextBox);
Позже, когда я обновляю ObjectDataProvider, фильтр теряется. Я заметил, что pickerView.View после обновления имеет другой хэш-код. Все ли представления воссоздаются при обновлении данных? Означает ли это, что мне нужно снова подключать фильтр всякий раз, когда я вызываю ObjectDataProvider.Refresh ()? Есть ли более разумный способ установить этот фильтр, при котором не потребуется присмотр за детьми?