Чтобы это вписалось в модель поля со списком, представляющего собой ItemsControl
, который отображает последовательный список отдельных элементов, вам нужно сгладить иерархию в один список.
Поскольку я ленив, я бы создал модель представления, которая выставляет свойства Padding
и Text
, а затем получил бы код, заполняющий модель представления, установив Padding
на основе уровня каждого элемента в иерархии. , Затем я бы создал шаблон элемента для поля со списком, который выглядел бы так:
<DataTemplate>
<TextBlock Padding="{Binding Padding}" Text="{Binding Text}"/>
</DataTemplate>
У этого подхода много недостатков. Но его легко построить, и он быстро даст вам понять, действительно ли это правильный способ представления этой информации.