我在一个列表框中有一个数据模板,该模板动态创建6个标签。它在一行中显示这些标签的内容。如何获得数据模板以在2行的3列中列出数据?因此,如果我添加了9个动态标签,则会将其排列为3列3行。
<Grid Grid.Row="1">
<ListBox ItemsSource="{Binding AvailableLayoutsOC, Mode=TwoWay}"
Margin="0">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Label Content="{Binding AvailableLayoutLabel}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
答案 0 :(得分:1)
尝试一下,但是不要忘了为选择绑定SelectedLayoutLabel
:
<Grid>
<ListBox ItemsSource="{Binding AvailableLayoutsOC}"
Margin="0" HorizontalAlignment="Left" VerticalAlignment="Top" SelectedValue="{Binding SelectedLayoutLabel}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Label Content="{Binding AvailableLayoutLabel}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>