0

我有一个 CheckBox 值的 ListBox,值的数量不时变化,可以是 10、15、100 等。

我想自定义值的显示方式。目前,如果我有 50 个值,它们都垂直显示,只有一列。

我希望这样,1 列最多有 10 个值,并且我能够水平滚动以查看其他列的值。

我尝试将 ItemsPanelTemplate 与 StackPanel 方向水平一起使用,但是现在所有值都在 1 行中。

请指教。

谢谢!

4

1 回答 1

1

您可以尝试将您使用的面板更改ListBox为 a WrapPanel。将其设置OrientationVertical,然后调整 的高度,ListBox使其在开始新列之前适合每个“列”中的 10 个项目。

<ListBox Height="..."
    ScrollViewer.HorizontalScrollBarVisibility="Auto"
    ScrollViewer.VerticalScrollBarVisibility="Disabled">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel Orientation="Vertical" />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>

如果您希望每列中有 10 个项目,但又不想显式设置 的高度,ListBox那么我能想到的唯一解决方案就是编写一个自定义Panel.

于 2015-01-15T14:31:03.020 回答