具有修复大小子项的WPF容器

时间:2015-12-06 01:36:07

标签: c# wpf listbox grid containers

我希望container有3列,在每列中,单元格可以包装它的内容,如下图所示

enter image description here

到目前为止,我已经做到了这一点:

    <ListBox Name="listQuestion">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <UniformGrid Columns="3"/>
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
    </ListBox>

但结果是每个细胞都与最大的细胞大小相同。

1 个答案:

答案 0 :(得分:0)

如果您希望网格中包含三个单独的列表作为列,则应该能够使用网格和列表框的组合

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <ListBox Grid.Column="0"/>
    <ListBox Grid.Column="1"/>
    <ListBox Grid.Column="2"/>
</Grid>

网格将为您提供布局中最大的灵活性,并允许您使元素跨越多个列或行。如果您不需要所有灵活性,则可以使用stackpanel

<StackPanel Orientation="Horizonal">
    <ListBox/>
    <ListBox/>
    <ListBox/>
</StackPanel>