У меня есть хорошая упаковка ListBox, напишите теперь со следующим кодом:
<ListBox ItemsSource="{Binding SomeTreeItem.List}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" IsItemsHost="True" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.Template>
<ControlTemplate>
<ScrollViewer>
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ListBox.Template>
<ListBox.ItemTemplate>
<DataTemplate>
<!-- my template for each listbox item -->
</DateTemplate>
</ListBox.ItemTemplate>
</ListBox>
Моя исходная структура данных выглядела примерно так (я хочу, чтобы каждый из элементов был ListBoxItems
на мой взгляд).
MyTree
-> Item 1
-> Item 2
-> Item 3
Моя привязка теперь изменилась на что-то вроде этого:
MyTree
-> SubTree 1
-> Item 1
-> Item 2
-> SubTree 2
-> Item 1
-> Item 2
-> Item 3
Как мне изменить код так, чтобы это стало так?Я полагаю, мне нужно будет добавить ItemsControl
для итерации по моим поддеревьям, но как мне гарантировать, что они все добавляются к родительскому ListBox
и, таким образом, правильно переносятся?
Спасибо!