问题描述
我创建了一个具有 ObservableCollection(of strings) 属性的视图模型。 我想创建一个视图(XAML),将集合项排列为网格。
例如,如果我的收藏包含 Kim、Ron、Peter、Nick、Tom、Dan、Bella、Rose...
会这样安排:
金罗恩彼得
尼克汤姆丹
贝拉·罗斯 ...
是否有任何 UI 组件可以将我的集合用作 itemsSource 并根据需要进行排列?
解决方法
是的,您可以使用任何派生自 ItemsControl
的 UIElement,例如 ListBox
,并将其 ItemsPanel
更改为带有 UniformGrid
的 Columns
大小为 3。
例如:
<ListBox ItemsSource="{Binding Names}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>