ОБНОВЛЕНИЕ : исправлено решение
Вот изображение проблемы для справки ...
![enter image description here](https://i.stack.imgur.com/I2fcS.jpg)
И вотизображение того, на что вы (вероятно) надеетесь ...
![enter image description here](https://i.stack.imgur.com/k5h2s.jpg)
ПРИМЕЧАНИЕ. Список файлов показан слева на втором снимке экрана.
После этого я считаю это дефектом в шаблоне TreeViewItem по умолчанию.Чтобы исправить это и внести любые другие необходимые корректировки, вам необходимо предоставить собственный шаблон TreeViewItem.Начиная с шаблона TreeViewItem по умолчанию из этого SO ответа ...
Вам необходимо изменить это ...
<Trigger Property="HasItems" Value="false">
<Setter Property="Visibility" TargetName="Expander" Value="Hidden"/>
</Trigger>
На это ...
<Trigger Property="HasItems" Value="false">
<Setter Property="Visibility" TargetName="Expander" Value="Collapsed"/>
</Trigger>
Это должно сделать это для вас.По умолчанию система оставляет 19 пикселей пространства для расширителя.Поскольку расширитель не нужен на уровне листьев, эта область должна быть свернута, а не скрыта.