代码之家  ›  专栏  ›  技术社区  ›  jradxl

WPF Treeview with HierarchicaldataTemplate-不显示最低项

  •  1
  • jradxl  · 技术社区  · 14 年前

    我有一个带HierarchicalDataTemplate的WPF TreeView。当我沿着层次结构向下展开节点时,我将最终到达底部并通过普通数据模板显示数据。 我不想显示这些节点-如果我将DataTemplate的containing TextBlock设置为Visible Hidden(或类似),我只会在treeview中获得分配的空间。我不想显示这些项目,所以假设我需要以某种方式删除它们。我无法对CollectionView使用筛选器,因为可能有其他节点具有此级别的子节点。所以基本上,在任何级别上,我都希望删除那些没有子节点的节点。实际数据是通过XmlDataProvider从Xml文件加载的,因此没有类对象。 有谁能建议

    约翰

    1 回复  |  直到 14 年前
        1
  •  0
  •   markmnl    14 年前

    您可能会问这个问题,因为树中的最后一个节点属于同一类型,所以您只使用一个HierarchicalDataTemplate:

    <HierarchicalDataTemplate DataType="{x:Type src:MyNodeClass}" ItemsSource = "{Binding Path=Items}">
      <TextBlock Text="{Binding Path=PropertyToDisplay}"/>
    </HierarchicalDataTemplate>
    

    如果您可以更改最后一个节点的类型,它们将不会自动使用模板(您也可以从普通类型继承,以便集合允许它们,即使新类实际上是空的)。