我有一个 CheckBox 值的 ListBox,值的数量不时变化,可以是 10、15、100 等。
我想自定义值的显示方式。目前,如果我有 50 个值,它们都垂直显示,只有一列。
我希望这样,1 列最多有 10 个值,并且我能够水平滚动以查看其他列的值。
我尝试将 ItemsPanelTemplate 与 StackPanel 方向水平一起使用,但是现在所有值都在 1 行中。
请指教。
谢谢!
我有一个 CheckBox 值的 ListBox,值的数量不时变化,可以是 10、15、100 等。
我想自定义值的显示方式。目前,如果我有 50 个值,它们都垂直显示,只有一列。
我希望这样,1 列最多有 10 个值,并且我能够水平滚动以查看其他列的值。
我尝试将 ItemsPanelTemplate 与 StackPanel 方向水平一起使用,但是现在所有值都在 1 行中。
请指教。
谢谢!
您可以尝试将您使用的面板更改ListBox
为 a WrapPanel
。将其设置Orientation
为Vertical
,然后调整 的高度,ListBox
使其在开始新列之前适合每个“列”中的 10 个项目。
<ListBox Height="..."
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
如果您希望每列中有 10 个项目,但又不想显式设置 的高度,ListBox
那么我能想到的唯一解决方案就是编写一个自定义Panel
.