WPF TreeView ICollectionView删除过滤器

时间:2011-04-18 12:13:40

标签: wpf search filter treeview icollectionview

我有一个深度不同的WPF TreeView。我的应用程序还可以在树中搜索。这是通过使用ICollectionView接口的Filter属性来完成的。搜索和过滤所有工作正常,但问题在于我尝试删除过滤器。

我有以下情况;我输入搜索条件并过滤树视图并显示结果。现在,当我按下我的按钮清除过滤器时,过滤器被移除但问题是它只显示我之前搜索过的子节点,并且没有显示其他节点的子节点,这些节点也不可扩展了。

我的搜索功能以递归方式向下遍历树,并测试每个节点以查找输入的搜索文本。

我是否必须应用view.Filter = null;每个节点及其子节点的语句?

谢谢,

捐赠

1 个答案:

答案 0 :(得分:1)

是!

每个层次结构级别都有自己的ICollectionView,每个层次结构都使用它自己的过滤。所以是的,你必须清除每个(父节点)节点上的过滤器(取决于你的确切实现)。