我现在使用以下代码编写了一个很好的包装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
并因此正确包装?
谢谢!