WPF Treeview с HierarchicaldataTemplate - не показывать самый низкий элемент - PullRequest
1 голос
/ 08 ноября 2010

У меня есть WPF TreeView с HierarchicalDataTemplate. По мере того, как я опускаюсь по иерархии, расширяя узлы, я в конце концов доберусь до дна, и данные отобразятся с помощью обычного шаблона данных. Я бы не хотел показывать эти узлы - если я установлю DataTemplate, содержащий TextBlock, на Visible Hidden (или аналогичный), я просто получу выделенное пространство в древовидной структуре. Я бы не хотел показывать эти элементы, поэтому предположим, что мне нужно как-то их удалить. Я не могу использовать фильтр на CollectionView, так как могут быть другие узлы с дочерними элементами на этом уровне. В общем, на любом уровне я хочу удалить те узлы, которые не имеют дочерних элементов. Фактические данные загружаются из файла Xml через XmlDataProvider, поэтому нет объектов класса. Может кто-нибудь подсказать, как

спасибо John

1 Ответ

0 голосов
/ 08 ноября 2010

Предположительно, вы задаете вопрос, потому что последние узлы в дереве одного типа, поэтому вы используете только один HierarchicalDataTemplate:

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

Если вы можете изменить тип ваших последних узлов, они не будут автоматически использовать шаблон (вы также можете наследовать от обычного типа, так что коллекция позволяет им, даже если новый класс фактически пуст).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...