Просто используйте привязку данных и шаблоны данных:
<ItemsControl ItemsSource="{Binding MainCollection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding .}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<RichTextBox Text="{Binding .}"/>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Таким образом, внешний ItemsControl
связывается с коллекцией коллекций и визуализирует по вертикали StackPanel
. Для каждой коллекции в этой коллекции есть внутренний ItemsControl
. Каждый внутренний элемент ItemsControl
отображает каждый элемент в своей коллекции как RichTextBox
по горизонтали StackPanel
.
Очевидно, что вам нужно будет исправить пути привязки соответствующим образом и настроить, как необходимо для вашего конкретного сценария.