2011-04-18 1 views
0

깊이가 다른 WPF TreeView가 있습니다. 내 응용 프로그램은 트리 내부를 검색 할 수도 있습니다. 이 작업은 ICollectionView 인터페이스의 Filter 속성을 사용하여 수행됩니다. 검색 및 필터링 모두 잘 작동하지만 필터를 제거하려고하면 문제가 발생합니다.WPF TreeView ICollectionView 필터 제거

다음 시나리오가 있습니다. 검색 기준을 입력하면 트리 뷰가 필터링되고 결과가 표시됩니다. 이제 버튼을 눌러 필터를 지우면 필터가 제거되지만 문제는 이전에 검색 한 하위 노드 만 표시하고 다른 노드의 하위 노드는 표시하지 않으며이 노드도 확장 할 수 없습니다 더 이상.

내 검색 함수는 트리를 반복적으로 탐색하고 입력 된 검색 텍스트에 대해 각 노드를 테스트합니다.

view.Filter = null을 적용해야합니까? 각 노드와 그 자식 노드에 대한 설명?

감사합니다,

그랜트

답변

1

예!

모든 계층 구조 수준에는 고유 한 ICollectionView가 있고 각각은 자체 필터링을 사용합니다. 그래서 네, 정확한 (구현에 따라) 모든 (부모) 노드에서 필터를 지워야합니다.

+0

감사합니다. 그것은 내가 생각했던 바로 그 것이다. – Supercell