C# 如何过滤objectlistview';什么是树景?

C# 如何过滤objectlistview';什么是树景?,c#,.net,winforms,objectlistview,C#,.net,Winforms,Objectlistview,我尝试使用文档中的委托过滤TreeListView: 所以它是这样的: this.myTree.ModelFilter = new ModelFilter(delegate(object x) { return (((MyTreeNode)x).Type == type); // this code doesn't work, why ? }); 因此,myTree应该包括所有具有属性的节点。Type属性等于Type,在我的情况下,树中没有节点,为什么 但是,如果我将.Type属性设置

我尝试使用文档中的委托过滤
TreeListView

所以它是这样的:

this.myTree.ModelFilter = new ModelFilter(delegate(object x) {
    return (((MyTreeNode)x).Type == type); // this code doesn't work, why ?
});
因此,
myTree
应该包括所有具有
属性的节点。Type
属性等于
Type
,在我的情况下,树中没有节点,为什么

但是,如果我将
.Type
属性设置为根节点的类型,那么它在树中只会是一个根节点,所以在本例中它可以工作


ETA:为什么使用上述代码进行过滤不起作用

从您的问题来看,还不完全清楚您的
TreeListView
结构是什么样子。但这可能与您想筛选尚未获取的子项(未展开的节点)有关

从已引用的教程链接:

筛选和树状结构视图
过滤和树状视图以可预测但可能意外的方式进行交互。
筛选只考虑当前已公开的行(即,它们的所有取消存储都已展开)。
在这些行中,如果筛选将包括行或其任何子行,则筛选过程将包括行。(是的,这是递归的)。如果底层子级与筛选条件匹配,则其所有祖先级也将被视为已匹配,因此将显示在控件中。
在大多数情况下,这会提供最可预测和最有用的视觉效果