WPF TreeView ICollectionView удалить фильтр - PullRequest
0 голосов
/ 18 апреля 2011

У меня есть WPF TreeView, глубина которого варьируется. Мое приложение также имеет возможность поиска внутри дерева. Это достигается с помощью свойства Filter интерфейса ICollectionView. Поиск и фильтрация все работает нормально, но проблема заключается в том, когда я пытаюсь удалить фильтр.

У меня есть следующий сценарий; Я ввожу критерии поиска, и древовидная структура фильтруется, и результат показывается. Теперь, когда я нажимаю кнопку, чтобы очистить фильтр, фильтр удаляется, но проблема в том, что он показывает только дочерние узлы из того, что я искал ранее, и не показывает дочерние узлы других узлов, эти узлы также не расширяются больше.

Моя функция поиска рекурсивно проходит по дереву и проверяет каждый узел на наличие введенного поискового текста.

Нужно ли применять view.Filter = null; оператор для каждого узла и их дочерних узлов?

Спасибо

Грант

1 Ответ

1 голос
/ 18 апреля 2011

Да!

Каждый уровень иерархии имеет свой собственный ICollectionView, и каждый использует свою собственную фильтрацию. Так что да, вам нужно очистить фильтр на каждом (родительском) узле (в зависимости от вашей точной реализации).

...